我正在开发带有离子框架的phonegap应用程序,在此应用程序中我在所有视图中都有13个控制器和13个视图文件,我需要调用相同的函数formateDateWithExtraValue(user.date),要调用此函数,我必须在所有13个控制器中声明此函数像波纹管
$ scope.formateDateWithExtraValue = function(Udate){“我的代码在这里”返回结果;}
有没有办法让我们可以全局编写此函数,以便可以在所有视图中访问它。就像在PropertyView.html中
{{formateDateWithExtraValue(user.date)}}
在视图中完成这种格式的最合适的角度方式是使用过滤器。最终结果将允许您在所有视图中使用格式化功能。
我在这里提供了一个工作示例:http : //codepen.io/krcourville/pen/BzRxvr?editors=1010
代码
angular
.module("app", [])
.controller("Controller1", function() {
this.originalValue = " I have too many spaces !!";
})
.controller("Controller2", function($filter) {
this.originalValue= "I also have too many spaces!!"
var removespaces = $filter("removespaces");
this.extra = removespaces("Something extra you can do");
})
.filter("removespaces", function() {
return function(value) {
if (typeof value === "string") {
return value
.split(" ")
.filter(function(f) {
return f !== "";
})
.join(" ");
} else {
return value;
}
};
});
看法
<div ng-app="app">
<p>
Demonstrates using of filter across multiple controllers.
</p>
<div ng-controller="Controller1 as $ctrl">
<h2>Controller1</h2>
<p>
Original Value:<pre>{{ $ctrl.originalValue }}</pre>
</p>
<p>
filtered: <pre>{{ $ctrl.modifiedInCtrl | removespaces }}</pre>
</p>
</div>
<div ng-controller="Controller2 as $ctrl">
<h2>Controller2</h2>
<p>
Original Value:<pre>{{ $ctrl.originalValue }}</pre>
</p>
<p>
filtered: <pre>{{ $ctrl.originalValue | removespaces }}</pre>
</p>
<p>
extra (using the filter in a controller): <pre>{{ $ctrl.extra }}</pre>
</p>
</div>
</div>
此处提供更多信息:https : //docs.angularjs.org/guide/filter
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句