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