我想只听EmberJS组件中的第一个didRender
。
initialDidRender: Ember.on('didRender', function() {
// Do some stuff
this.off('didRender');
}),
allOtherDidRender: Ember.on('didRender', function() {
// Do some stuff
})
使用this.off
对我的用例非常有用,但如果我想在将来定义另一个didRender
侦听器,它也会删除那个。
有没有办法只禁用我的示例中的initialDidRender
?
我也尝试了this.set('initialDidRender', null);
,但它会在未来的didRender
事件中引发错误。
答案 0 :(得分:1)
你需要使用didInsertElement
hook而不是didRender
这样的钩子:
didInsertElement(){
// Do some stuff
}
此外,您可以考虑更改Ember.on
使用情况because they may be deprecated soon的使用情况。请查看this twiddle didInsertElement
挂钩的使用情况。