我在父控制器中更新对象数组的属性时遇到了一些问题。
$scope.items = Ticket.items;
$scope.$watchCollection('items', function () {
console.log("xxxx");
});
现在在另一个控制器子控制器中。我正在循环使用Ticket.items(顺便说一句,Ticket是一个具有属性名称项目的服务,是一个objet数组)
Ticket.items.forEach(function (item) {
item.qty = 55;
});
现在问题是我正在更新Ticket.items的item属性而$ watchCollection没有执行。它仅在我向Ticket.items数组推送内容时执行。
答案 0 :(得分:1)
只需在手表中添加参数true
,即可追踪深层属性
$scope.$watch('items', function () {
console.log("xxxx");
},true);