$ rootscope手表没有工作第二次

时间:2015-08-17 11:17:28

标签: angularjs

我是Angularjs的新手。我在控制器中定义了$ rootscope观察器。第一次(在页面加载期间)它将工作意味着警报显示但在$rootScope.cartItems更改后它不起作用。

eshopApp.controller('cartCtrl', function ($scope, $rootScope, cartService, $cookies) {

$rootScope.$watch('cartItems', function (newVal, oldVal) {
    cartService.cartSubTotal(function (data) {
        $scope.cartSubTotalVal = data;
        alert('total '+$scope.cartSubTotalVal);
       });
   });
});

2 个答案:

答案 0 :(得分:2)

在第三个参数中传递true。例如

$rootScope.$watch('cartItems', function (newVal, oldVal) {
cartService.cartSubTotal(function (data) {

        $scope.cartSubTotalVal = data;
        alert('total '+$scope.cartSubTotalVal);
       });
     });
  },true);

答案 1 :(得分:1)

完全不相关的说明:一般情况下,不要使用$ rootScope观察者或观察者。只有很小一部分用例实际上需要观察者: 有关更多信息,请查看此文章:

You dont need watchers