gpt4 book ai didi

angularjs - 如何在AngularJS中深度观察数组?

转载 作者:行者123 更新时间:2023-12-02 22:19:10 25 4
gpt4 key购买 nike

我的作用域中有一个对象数组,我想查看每个对象的所有值。

这是我的代码:

function TodoCtrl($scope) {
$scope.columns = [
{ field:'title', displayName: 'TITLE'},
{ field: 'content', displayName: 'CONTENT' }
];
$scope.$watch('columns', function(newVal) {
alert('columns changed');
});
}

但是当我修改这些值时,例如我将 TITLE 更改为 TITLE2alert('columnschanged') 从未弹出。

如何深度观察数组内的对象?

有现场演示:http://jsfiddle.net/SYx9b/

最佳答案

您可以将$watch的第三个参数设置为true:

$scope.$watch('data', function (newVal, oldVal) { /*...*/ }, true);

参见https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$watch

自 Angular 1.1.x 起,您还可以使用 $watchCollection 来观看浅层监视(只是该集合的“第一级”)。

$scope.$watchCollection('data', function (newVal, oldVal) { /*...*/ });

参见https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$watchCollection

关于angularjs - 如何在AngularJS中深度观察数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14712089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com