Angularjs $监视对象数组

时间:2015-10-23 22:45:25

标签: javascript angularjs

我是AngularJS的新手,想为我的问题找到一个有效的解决方案。

我有一个对象数组

var list = [
{listprice: 100, salesprice:100, discount:0},
{listprice: 200, salesprice:200, discount:0},
{listprice: 300, salesprice:300, discount:0},
];

Salesprice可由用户更改或由后端代码更新。我的要求是观察每个销售价格的变化(无论是UI还是后端),并仅更新该对象的相应折扣。

我正在考虑使用$ watch,但无法理解如何使用它来绑定数组中的每个salesprice以及更改折扣的相应函数。

1 个答案:

答案 0 :(得分:2)

已授予list$scope,您只需观看:

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

请注意,true的最后一个参数需要深度观看。第三个是可选的,指的是objectEquality https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$ watch