我有一個簡單的js數組被一個角度工廠檢索,注入一個控件,觀察,然後在ui-router管理的視圖狀態中使用ng-repeat在表中顯示。
起初我想要訂閱使用$ watchCollection這陣...
self.$watchCollection(self.Data, function(newData, oldData){
self.total = newData.length;
});
然而,當我最初加載應用程序,這只是運行。我發現訂閱正在運行的集合的唯一方法是使用返回相關數組的匿名函數。
self.$watchCollection(function() { return self.Data }, function(newData, oldData){
self.totalWatchedWithAnonFunc = newData.length;
})
查看這一切http://plnkr.co/edit/L7mycl
一切從我讀,所有我應該需要一個有效的訂閱做的是數組本身,而不是一個匿名函數返回數組中傳遞。
我之所以包含ui-router是因爲我的實際應用程序正在大量使用它,我想盡可能地模擬我的環境,以便如何設置事物。
我不理解什麼?我可以做不同的事情嗎?
謝謝。
根據stevuu的建議更新:http://plnkr.co/edit/L7mycl – beauXjames