1
我們如何觀察Ember中數組的變化?我有一個從模型使用的原始對象數據燼組成部分,但證明我使用的部件中數組屬性的問題本身一樣:如何觀察控制器/組件內陣列的變化
init:function(){
this._super();
var arr = Ember.A([
Ember.Object.create({"shelfNo": 1, "noOfItems": 2}),
Ember.Object.create({"shelfNo": 2, "noOfItems": 3}),
Ember.Object.create({"shelfNo": 3, "noOfItems": 2})]
);
this.set("someArray",arr);
//DOES NOT WORK
this.get('someArray').addArrayObserver(function() {
Ember.ObjectController.create({
arrayWillChange: function (observedObj, start, removeCount, addCount) {
console.log("in arrayWillChange");
},
arrayDidChange: function (array, start, removeCount, addCount) {
console.log("in arrayDidChange");
}
});
});
}
我也試過:
testObserver: function(){
//DOES NOT WORK
console.log("here");
}.observes('[email protected]')
但兩者沒」爲我工作!
這裏是一個jsbin:http://jsbin.com/EkumOjA/1/
感謝, 迪
感謝馬爾西奧,我意識到我錯過了。我應該完成.observes('someArray。@ each')而不是.observes('someArray @ each') - 我錯過了「。」。沒有你的jsbin,我無法弄清楚我的問題。謝謝。 –
不客氣。要記住,如果你想觀察內容的變化,只需使用'someArray。[]',因爲'someArray。@ each'旨在觀察數組中的屬性,它會在每個項目中添加追隨者, '的someArray。[]'。 –