由于这个
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来摧毁实际的,然后创建一个新的.
解决方法
它似乎是当前版本中的一个错误.也许你应该打开一张票.
直到这是固定的,这可能有助于:
直到这是固定的,这可能有助于:
App.ContactShowRoute = Ember.Route.extend({ renderTemplate : function(controller,model) { if(this.lastRenderedTemplate == this.routeName) return; return this._super(); } });