【发布时间】:2015-11-12 10:58:22
【问题描述】:
例子
$scope.$watch('data', function(){});
函数在data 发生变化时启动,但如果我想知道是什么函数导致了变化。
【问题讨论】:
标签: angularjs angularjs-scope angularjs-watch
例子
$scope.$watch('data', function(){});
函数在data 发生变化时启动,但如果我想知道是什么函数导致了变化。
【问题讨论】:
标签: angularjs angularjs-scope angularjs-watch
你不能直接询问变量“数据”来检查是什么方法改变了它,我不知道 $watch 有一个“原点”样式属性。
所以你需要自己跟踪这个,所以我建议有一个改变实际数据的中间方法,所有其他人都调用它。
然后,所述方法可以存储源,然后触发手表。 但如果这样做,你还需要手表吗?
或者,您可以设置一个标志来表示来源。
您还可以按照 Cameron Boehmer 在 interesting article 中的说明在 watch 语句中使用评估,这样只有在满足某些其他条件(如标志)时才能触发手表。
【讨论】: