AngularJS - 我怎样才能观看深度嵌套的数组?

时间:2016-03-17 22:56:15

标签: javascript angularjs

我目前的数据如下所示:

$scope.boardLists = [{
cards: [{a:1, b:2}, {a:2, b:2}]
},

{
cards: [{a:3, b:3}, {a:4, b:4}]
},

{
cards: [{a:5, b:5}, {a:6, b:6}]
}];

如何观察卡阵列的变化?

到目前为止,我已尝试过以下内容:

$scope.$watchCollection('boardLists', function(newVal, oldVal){
console.log(newVal);
console.log(oldVal);
});

$scope.$watch('boardLists', function(newVal, oldVal){
console.log(newVal);
console.log(oldVal);
}, true);

2 个答案:

答案 0 :(得分:2)

范围$watch深度

$scope.$watch('boardLists', function(newVal, oldVal){
  console.log(newVal);
  console.log(oldVal);
}, true);

使用$scope.$watch('item',fn,true);进行深入观察。

有关信息,请参阅AngularJS Developer Guide - $scope Watch Depths

答案 1 :(得分:0)

$ watch有点贵,你可以尝试使用$ apply

$scope.$apply(function() {
  // do something with the scope
  $scope.boardList.push({cards:...});
});

$ apply会自动重新运行您的模板