2013-11-02 23 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'观察者。