1

嗨,我制定了一个指令,我在其中放置了 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被触发两次?

4

1 回答 1

2

$watch默认情况下适用于对象引用(例如,它仅在观察对象与缓存引用不同时触发) - 如果您想检查对象是否相等,则必须添加第三个参数:

$scope.$watch('master', updateMap, true);
于 2013-06-03T09:43:56.227 回答