我有一个带动态段的路径:id。当我在浏览器url输入字段中手动更改动态segement部分时,然后进行转换,并按预期调用所有模型挂钩。
问题是:没有一个视图被重新渲染。我想这是因为只有模型改变了 - 而不是UI。但是我在视图中有一些UI逻辑。 didInsertElement处理程序 - 重新初始化UI插件等。
如何在动态段更改后强制ember重新呈现视图?
答案 0 :(得分:1)
我同意约什的评论。如果您使用动态段的更改重新渲染视图意味着您的代码编写不正确。但是,如果你想要这样,我将给出的是代码的一部分。
在你的路线中:
model: function(params){
model.set('id', params.id);
}
在您认为需要重新渲染的视图中:
_modelIdChange: function(){
this.rerender();
}.observes('controller.model.id')
但我不建议这样做。我宁愿选择合适的绑定。但是我确实在某些情况下使用了重新渲染,主要是当你最终使用jquery插件时。