2017-01-03 5 views
0

こんにちは私は親コントローラのオブジェクトの配列の属性を更新するときに少し問題があります。

$ scope.itemsにはオブジェクトの配列が含まれています。

$scope.items = Ticket.items; 

$scope.$watchCollection('items', function() { 
    console.log("xxxx"); 
}); 

他のコントローラの子コントローラにあります。私は今の問題は、私はアイテムのプロパティを更新してるということです

(ちなみにチケットはオブジェの配列であるプロパティ名のアイテムを持っているサービスである)Ticket.items thrue
Ticket.items.forEach(function (item) { 
    item.qty = 55; 
}); 

をループしていますTicket.itemsの$ watchCollectionは実行されていません。私は何かをTicket.items配列にプッシュするときだけ実行します。

答えて

1

だけうん深い性質

$scope.$watch('items', function() { 
    console.log("xxxx"); 
},true); 
+0

を追跡するために、私はそれが動作しないことを試みたが、時計にパラメータtrueを追加します。 – user3862830

+0

まあ、$ scopeCollection( 'items'、function(){ console.log( "xxxx"); }、true); $ scope watch( 'items'、function(){ console.log( "xxxx"); }、true);正常に動作します。 – user3862830

+0

watchCollectionの代わりにwatchを試しますか? –

関連する問題