我有一个带有布尔值的数组,我需要做的是尝试使用$ watch函数,以便在数组中发生某些更改时显示消息。
正如您在此code中看到的那样,数组会更改其值,但$ watch函数不起作用。有什么想法吗?
视图的
<div data-ng-repeat="catA in categoryA">
<b><input type="checkbox" checked="checked" ng-model="arrayCategoryA[$index]"/>{{catA.name}}</b>
</div>
控制器的
app.controller("controllerApp", function($scope, $http, $filter){
$scope.arrayCategoryA = [];
$scope.$watchCollection($scope.arrayCategoryA, function(newVal, oldVal){
console.log("something changed");
}, true);
$http.get("categoryA.json").success(function(data) {
$scope.categoryA = data;
for (var i = 0; i < $scope.categoryA.length; i++)
$scope.arrayCategoryA[i] = true;
});
});
答案 0 :(得分:2)
$watchCollection
采用监视表达式,在本例中是arrayCategoryA
范围变量的名称。
$scope.$watchCollection(`arrayCategoryA`, function(newVal, oldVal){
console.log("something changed");
}, true);