2013-11-02 54 views
4

有問題讓我的觀察者設置正確。下面的代碼在正確觀察length屬性的意義上工作正常。但是,當頁面加載時,它會重複觸發,這不是我所期望的/想要的。有沒有辦法在完全加載時添加此觀察者?Ember.js在內容完全加載時添加觀察者

App.PlaylistController = Ember.ObjectController.extend({ 
    songsChanged: function() { 
    // some behaviour 
    }.observes('content.songs.length'), 
}); 

對於它的價值,this.get('content.isLoaded');加載頁面

App.PlaylistController = Ember.ObjectController.extend({ 
    songsChanged: function() { 
    this.get('content.isLoaded'); 
    }.observes('content.songs.length'), 
}); 

回答

0

您可以動態地添加和使用分別與Ember.Observable.addObserver刪除Ember.Observable.removeObserver在灰燼觀察家時返回true。

在你的情況下,你可能想要觀察'content.isLoaded'屬性,然後在觀察者中使用提到的addObserver函數動態添加'content.songs.length'觀察者。