Angular:在服务中:注意另一项服务的变化

时间:2014-07-12 18:29:46

标签: angularjs

我有一项服务取决于另一项服务。当另一个服务上的方法给出不同的结果(比以前)时,我希望我的主服务上的属性自动更改(然后这个更改将自动通过控制器视图绑定到达视图)。 / p>

这个问题是否可以理解?怎么能实现这一目标?我可以让控制器进行观察,但是也许可以让我的主要服务本身监视依赖服务的变化(除了在每个控制器中都有一块手表)?

1 个答案:

答案 0 :(得分:0)

将其他服务作为依赖项添加到主服务中,并在其中添加以下功能:

$scope.watch( $otherService.getValue, function (newValue, oldValue) {

    alert("value changed from " + oldValue + " to " + newValue);
    $scope.propertyToChange = ....

});

GetValue是另一个服务中的一个函数,它返回应该监视的值。如果此功能的结果发生变化,将触发观察者。

我现在无法测试该片段,抱歉。但我希望它能帮到你。