【发布时间】:2013-03-20 11:17:12
【问题描述】:
基本上我想要这个http://plnkr.co/edit/3yfXbo1c0llO40HZ8WNP?p=preview,但是当我改变某些东西时手表不会触发..
我知道这会奏效
$scope.$watch('stuff', function (newVal, oldVal) {
console.log(oldVal, newVal);
}, true);
但是因为我想在手表内部做一些总结,我不想不必要地循环或重新总结没有改变的值..
//编辑 - 请注意,plnkr 示例只是从实际应用程序中提取的,您可以在其中添加和删除行等等,例如从 ng-repeat 之外的另一个输入修改总数(某事和某事的总和)..
【问题讨论】:
-
没有
$scope.stuff.something变量,所以你不能$watch。 -
@Stewie 所以我应该要么观看整个
stuff,要么在一些 onchange/onkeyup 事件中使用我的求和函数,对吗? -
我想要
something和somethingelse的总和,现在当something发生变化时,也不需要对somethingelse进行总和 -
需要遍历整个对象才能得到一个属性的总和,那么同时对其他属性求和会有什么不同呢?
-
我会说只是观看整个
stuff并远离premature optimization。
标签: javascript object angularjs watch angularjs-scope