当控制器路线改变时刷新Ember.View

时间:2014-05-22 02:51:34

标签: ember.js

我有一个Ember.TextArea的子类,它显示了我的模型中的一些文本。

当用户转到/:model_id

时,将呈现视图

如果用户正在查看/ 2,然后转到/ 3,则在视图中不会调用任何生命周期事件。 didInsertElement没有被触及。仅使用新模型更改文本区域的值。

我真正想做的是每次用户访问/:model_id时都要关注文本区域。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

didInsertElement仅在将元素插入页面时触发,而不是在更改特定路径的模型时触发,而只更新页面中的模板。

您可以在控制器上观察模型并在发生这种情况时启动一些代码,或者挂钩每次模型更改路径时触发的setupController

每次你想要在将更改呈现到页面之前都要保持警惕。使用调度通常是最喜欢的路线

Em.run.scheduleOnce('afterRender', function(){
  alert('foo');
});