我是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);
});
});
});
答案 0 :(得分:2)
在第三个参数中传递true
。例如
$rootScope.$watch('cartItems', function (newVal, oldVal) {
cartService.cartSubTotal(function (data) {
$scope.cartSubTotalVal = data;
alert('total '+$scope.cartSubTotalVal);
});
});
},true);
答案 1 :(得分:1)
完全不相关的说明:一般情况下,不要使用$ rootScope观察者或观察者。只有很小一部分用例实际上需要观察者: 有关更多信息,请查看此文章: