我在应用程序中定义了许多可重用的功能,每个控制器都与 $scope 变量一起使用。有没有办法扩展 $scope 变量,以便我可以在任何地方使用我的扩展代码,而不是每次都创建共享服务?
就像是:
//I've tested this out and it doesn't work, but this is what I want to do.
angular.module('App',[]).config(['$scopeProvider',function($scope) {
$scope.method1 = function() { ... };
$scope.method2 = function() { ... };
}]);
然后后来:
var HomeCtrl = function($scope) {
$scope.method1();
};
这可能吗?或者我是否需要创建一个共享服务,然后将 $scope 从每个控制器的第一行扩展?
代替.config
try .run
,这将完全符合您的要求。
angular.module('App', []).run(['$rootScope', function($rootScope) {
$rootScope.foo = function() {
alert("WIN!");
};
}]);
angular.module('App').controller('HomeCtr', ['$scope', function($scope) {
$scope.foo(); #will call the alert
}]);
NOTE我只用过module.controller
因为我喜欢它,var HomeCtrl = function($scope) {
将会有同样的效果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)