全球价值观者

时间:2014-11-10 13:47:50

标签: angularjs

在我的AngularJs应用程序中,我希望在值发生变化时以全局方式调用工厂。

值为$scope.loading

所以在我设置$scope.loading = true;的控制器中 “全局监听器”将调用工厂progressFactory.start();

当我在控制器中设置$scope.loading = false;时,我希望“全局侦听器”调用工厂progressFactory.complete();

请用代码回答。

2 个答案:

答案 0 :(得分:0)

您可以使用$watch

$scope.$watch("loading", function(value) {
    if (value) progressFactory.start();
    else progressFactory.complete();
});

答案 1 :(得分:0)

您可以使用:

$rootScope.$on("event", function(event, myValues)

当你必须打电话时:

$rootScope.$emit("event", myValus);

另一种解决方案是使用

 $rootScope.$watch