我需要跟踪作为数组的模型值何时被指令更新,但 $watch 似乎失败了。我创建了一个小提琴来说明这个问题:
我设置了一个手表,以便在模型更改时执行操作。
$scope.$watch('model.title', function(newValue, oldValue) {
if ($scope.model) {
console.debug("watchedTitle=" + newValue);
$scope.watchedTitle = newValue ;
}});
如果模型 newValue 是一个整数,则 $watch 会如调试日志所示持续触发:
watchedTitle=1
watchedTitle=2
watchedTitle=3
watchedTitle=4
watchedTitle=5
我设置了第二个手表来监控阵列的变化:
$scope.$watch('model.titlearray', function(newValue, oldValue) {
如果 newValue 是一个数组 $watch 仅在第一次使用时触发:
watchedTitlearray: 1
之后我的第二只手表没有开火。
知道我做错了什么吗?