嗨,我开发了一个指令,我把这样的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被触发两次?
答案 0 :(得分:2)
$watch
默认情况下用于对象引用(例如,只有当被监视对象与缓存引用不同时才会触发) - 如果要检查对象相等性,则必须添加第三个参数:
$scope.$watch('master', updateMap, true);