我是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以及更改折扣的相应函数。
答案 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