自此 commit我们不能用一个 ID 两次注册一个 View 。这似乎合乎逻辑。但是我遇到了一个问题。
路由器
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 .我要过渡到()相同的路线,但具有不同的背景。
我希望 emberjs 销毁 View ,然后再次创建它,但出现以下错误:
Uncaught Error: assertion failed: Attempted to register a view with an id already in use: page-show-contact
我不想两次实例化具有相同 ID 的 View 。我只是想让 ember 销毁实际的一个,然后创建一个新的。
最佳答案
这似乎是当前版本中的一个错误。也许你应该开一张票。
在解决此问题之前,这可能会有所帮助:
App.ContactShowRoute = Ember.Route.extend({
renderTemplate : function(controller, model) {
if(this.lastRenderedTemplate == this.routeName)
return;
return this._super();
}
});
关于ember.js - 尝试使用已在使用的 ID 注册 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15000073/