angularjs - 我如何获取有关谁更改了我在 watch 中设置的变量的信息( Angular )

标签 angularjs angularjs-scope angularjs-watch

示例

$scope.$watch('data', function(){});

该函数在数据发生变化时启动,但如果我想知道是什么函数导致了变化。

最佳答案

您无法直接询问变量“data”来检查更改它的方法,而且我不知道 $watch 具有“origin”样式属性。

因此,您需要自己跟踪这一点,因此我建议使用一个中间方法来更改实际数据,所有其他方法都调用此方法。

然后,该方法可以存储源,然后触发 watch 。 但如果这样做你还需要 watch 吗?

或者,您可以设置一个表示原点的标志。

您还可以在监视语句中使用评估,如 interesting article 中所述。作者:Cameron Boehmer,这样您只有在满足某些其他条件(例如标志)时才能触发 watch 。

关于angularjs - 我如何获取有关谁更改了我在 watch 中设置的变量的信息( Angular ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32090489/

相关文章:

javascript - 嵌套表,三层。 (ng-重复孙子?)

javascript - 如何: Angular Factory method declared in a JavaScript object?

javascript - 查看多个 $scope 属性

javascript - 如何使用 Angular 数据表将 "data-title"放入 <td> 而不使用 ng-repeat

javascript - JavaScript 函数中的 Angular 表达式

jquery - 如何在按下按钮时激活 Bootstrap 背景

AngularJS 范围在发布到 API 时通过 RESTANGLE 进行刷新

javascript - $watch 和 2 个 Controller

Angular : $watch within directive is not working when $rootScope value is changed