Poiché questo commit non è possibile registrare una vista con un ID due volte. Questo sembra logico. Comunque ho avuto un problema.Tentativo di registrare una vista con un ID già in uso
Router
App.Router.map(function() {
this.resource('contact', { path: '/contacts/:contact_id' });
});
App.ContactShowRoute = Ember.Route.extend({});
View
App.ContactShowView = Em.View.extend({
elementId: "page-show-contact"
});
Si consideri che io sono già sulla rotta App.ContactShowRoute. Vorrei transitionTo() lo stesso percorso ma con un contesto diverso.
mi aspettavo emberjs di distruggere la vista e quindi creare di nuovo, ma ho ottenuto il seguente errore:
Uncaught Error: assertion failed: Attempted to register a view with an id already in use: page-show-contact
Non voglio creare un'istanza di una vista con lo stesso ID due volte. Voglio solo ember per distruggere quello attuale e quindi crearne uno nuovo.
Credo Ember trys per istanziare la nuova vista, quando la vecchia View è ancora nel DOM e ancora iscritto su Ember. Ora viene creata la nuova nuova vista e viene assegnato l'elementId. In questo momento hai 2 oggetti View con lo stesso id, ma solo uno è nel DOM. Perché hai bisogno di definire l'elemento da solo? Penso che ci sia una soluzione veloce. – mavilein