angularjs – 范围的装饰器
发布时间:2020-12-17 17:52:44 所属栏目:安全 来源:网络整理
导读:有可能,如果是这样,如何装饰$scope所以所有范围都有一些额外的功能/属性? 我正在尝试这样做: $provide.decorator('$scope',function($scope){ $scope.cakes = true; return $scope;}); 但它爆炸了: Unknown provider: $scopeProvider from App. 我知道我
有可能,如果是这样,如何装饰$scope所以所有范围都有一些额外的功能/属性?
我正在尝试这样做: $provide.decorator('$scope',function($scope) { $scope.cakes = true; return $scope; }); 但它爆炸了:
我知道我可以向$rootScope添加属性和函数,它将原型继承,但我希望指令中的隔离范围也可以访问这些添加的内容. 解决方法
我有同样的问题.
只需扩展$rootScope原型. 这是我尝试使用lodash debounce函数作为本机范围方法: angular.module('Test',[]) .config(function($provide) { $provide.decorator('$rootScope',function ($delegate) { $delegate.__proto__.$$busy = 0; $delegate.__proto__.$watchDebounce = function (watchExpression,listener,objectEquality){ var _scope = this; var debouncedListener = _.debounce(function (newValue,oldValue,scope){ listener(newValue,scope); _scope.$$busy = 0; scope.$digest(); },1000); var wrappedListener = function (newValue,scope){ _scope.$$busy = 1; debouncedListener(newValue,scope); } return this.$watch(watchExpression,wrappedListener,objectEquality); } return $delegate; }) }) 这里的工作示例http://jsfiddle.net/3ncct/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |