【发布时间】:2015-11-06 01:17:34
【问题描述】:
我的 Angular 应用中有服务。该服务通过一些操作提供对数组的访问(许多控制器都提供访问权限,它们都需要监视此变量)。
但是如何观察这项服务的变化呢?它没有$scope,也不知道在哪里找$watch?
这是我的服务代码:
(function(){
angular.module('something')
.factory('MasterService',['$http', function($http){
var service = this;
var data = {
operations: [] // this array need to be accessible from controllers
};
$http.get('some/url').success(function(data){
// here we mofidy array with loaded from server
data.operations = angular.copy(data.operations);
});
return {
// controllers will receive operations via this method
getOperations: function () {
return data.operations;
}
};
}])
})();
如何在该服务中观察操作变量?我需要添加类似的内容:
operations.$watch(function(){
//make some actions with operations
});
【问题讨论】:
-
您能解释一下为什么需要从服务中观看吗?无论如何,您需要有足够的空间观看。
-
你可以创建一个范围,为了你的观看乐趣,不是吗?
-
你能举个例子说明为什么你需要观察服务的变化吗?
-
当控制器中的某些内容发生更改(有人添加新内容或更改)时,在服务中我需要更新主数据(这取决于该数据)(也许我还需要一个控制器???)。
标签: javascript angularjs