我有一个$ watch设置来监视服务(MenuFilter)中值的数组(menuItems)。
$scope.filterMenuItems = MenuFilter.menuItems;
$scope.$watch(function () {
return MenuFilter.menuItems;
}, function (newVal, oldVal) {
if ( newVal !== oldVal ) {
$scope.filterMenuItems = newVal;
}
});
在某个时刻,菜单项被删除,我希望手表更新列表但不是。它只在刷新页面时更新。
答案 0 :(得分:0)
请务必添加true
作为第三个参数,以便深入观察或更好地使用$watchCollection
。
问题是$watch
仅使用引用比较,即它不监视数组中的项 - 只有数组引用本身(oldArray === newArray
)。