我有一项服务取决于另一项服务。当另一个服务上的方法给出不同的结果(比以前)时,我希望我的主服务上的属性自动更改(然后这个更改将自动通过控制器视图绑定到达视图)。 / p>
这个问题是否可以理解?怎么能实现这一目标?我可以让控制器进行观察,但是也许可以让我的主要服务本身监视依赖服务的变化(除了在每个控制器中都有一块手表)?
答案 0 :(得分:0)
将其他服务作为依赖项添加到主服务中,并在其中添加以下功能:
$scope.watch( $otherService.getValue, function (newValue, oldValue) {
alert("value changed from " + oldValue + " to " + newValue);
$scope.propertyToChange = ....
});
GetValue是另一个服务中的一个函数,它返回应该监视的值。如果此功能的结果发生变化,将触发观察者。
我现在无法测试该片段,抱歉。但我希望它能帮到你。