10
由於此commit我們無法爲ID註冊兩次ID。這似乎合乎邏輯。但是我遇到了一個問題。嘗試註冊已使用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的視圖的兩倍。我只是想燼來摧毀實際的,然後創建一個新的。
我猜餘燼改掉實例化新的視圖,當舊的觀點依然是在DOM,仍然與Ember註冊。現在您的新的新視圖被創建並且elementId被分配。在這一刻,你得到了2個具有相同ID的View對象,但只有一個在DOM中。爲什麼你需要自己定義elementId?我認爲有一個快速的解決方法。 – mavilein 2013-02-21 10:58:48