更改路线的动态段后重新查看视图

时间:2014-07-31 17:52:29

标签: ember.js

我有一个带动态段的路径:id。当我在浏览器url输入字段中手动更改动态segement部分时,然后进行转换,并按预期调用所有模型挂钩。

问题是:没有一个视图被重新渲染。我想这是因为只有模型改变了 - 而不是UI。但是我在视图中有一些UI逻辑。 didInsertElement处理程序 - 重新初始化UI插件等。

如何在动态段更改后强制ember重新呈现视图?

1 个答案:

答案 0 :(得分:1)

我同意约什的评论。如果您使用动态段的更改重新渲染视图意味着您的代码编写不正确。但是,如果你想要这样,我将给出的是代码的一部分。

在你的路线中:

model: function(params){
   model.set('id', params.id);
}

在您认为需要重新渲染的视图中:

_modelIdChange: function(){
  this.rerender();
}.observes('controller.model.id')

但我不建议这样做。我宁愿选择合适的绑定。但是我确实在某些情况下使用了重新渲染,主要是当你最终使用jquery插件时。