尝试注册已使用ID的视图

Tho*_*rin 10 ember.js

由于此提交,我们无法注册具有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破坏实际的那个,然后创建一个新的.

Pat*_*tar 3

这似乎是当前版本中的一个错误。也许你应该开一张票。在解决此问题之前,这可能会有所帮助:

App.ContactShowRoute = Ember.Route.extend({

   renderTemplate : function(controller, model) {
    if(this.lastRenderedTemplate == this.routeName) 
       return; 
    return this._super();
   }
});
Run Code Online (Sandbox Code Playgroud)