尝试注册已使用ID的视图

时间:2013-02-21 10:36:31

标签: ember.js

由于此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来破坏实际的那个,然后创建一个新的。

1 个答案:

答案 0 :(得分:3)

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

App.ContactShowRoute = Ember.Route.extend({

   renderTemplate : function(controller, model) {
    if(this.lastRenderedTemplate == this.routeName) 
       return; 
    return this._super();
   }
});