我有一个Ember.TextArea的子类,它显示了我的模型中的一些文本。
当用户转到/:model_id
时,将呈现视图如果用户正在查看/ 2,然后转到/ 3,则在视图中不会调用任何生命周期事件。 didInsertElement没有被触及。仅使用新模型更改文本区域的值。
我真正想做的是每次用户访问/:model_id时都要关注文本区域。
有什么想法吗?
答案 0 :(得分:0)
didInsertElement
仅在将元素插入页面时触发,而不是在更改特定路径的模型时触发,而只更新页面中的模板。
您可以在控制器上观察模型并在发生这种情况时启动一些代码,或者挂钩每次模型更改路径时触发的setupController
。
每次你想要在将更改呈现到页面之前都要保持警惕。使用调度通常是最喜欢的路线
Em.run.scheduleOnce('afterRender', function(){
alert('foo');
});