AngularJS。如何将监视添加到全局属性?

时间:2013-06-03 09:38:46

标签: angularjs

嗨,我开发了一个指令,我把这样的2个看起来像这样:

$scope.$watch('master.origin', updateMap);
$scope.$watch('master.destination', updateMap);

问题在于,有时我通过var copy设置“master”,如下所示:

$scope.master= angular.copy($scope.dirRequest);

在这种情况下,我有两次updatemap触发器。

如何将手表添加到掌握?

   $scope.$watch('master', updateMap);  // This doesn't work

如何避免该uploadmap被触发两次?

1 个答案:

答案 0 :(得分:2)

$watch默认情况下用于对象引用(例如,只有当被监视对象与缓存引用不同时才会触发) - 如果要检查对象相等性,则必须添加第三个参数:

$scope.$watch('master', updateMap, true);