由于此commit我们无法注册具有ID两次的视图。这看似合乎逻辑。但是我遇到了一个问题。
路由器
App.Router.map(function() {
this.resource('contact', { path: '/contacts/:contact_id' });
});
App.ContactShowRoute = Ember.Route.extend({});
查看
App.ContactShowView = Em.View.extend({
elementId: "page-show-contact"
});
请注意我已经在路线 App.ContactShowRoute 。我想 transitionTo()相同的路线但具有不同的上下文。
我预计emberjs会破坏视图然后再次创建它,但是我收到了以下错误:
Uncaught Error: assertion failed: Attempted to register a view with an id already in use: page-show-contact
我不想两次实例化具有相同ID的视图。我只想要使用ember来破坏实际的那个,然后创建一个新的。
答案 0 :(得分:3)
这似乎是当前版本中的一个错误。也许你应该开票。 在修复此问题之前,这可能会有所帮助:
App.ContactShowRoute = Ember.Route.extend({
renderTemplate : function(controller, model) {
if(this.lastRenderedTemplate == this.routeName)
return;
return this._super();
}
});