Błąd Podjęto próbę obsługi zdarzenia `loadedData`: obiekt nie został zaktualizowany po usunięciu deleteRecord
Korzystając z ostatniej wersji danych ember-js i ember-data, wystąpił problem podczas usuwania rekordu.
Moja trasa:
App.ListContactsRoute = Em.Route.extend({
model: function() {
App.Contact.find();
},
setupController: function(controller, model) {
controller.set('contacts', model);
}
});
App.EditContactRoute = Em.Route.extend({
setupController: function(controller, model) {
this.transaction = controller.get('store').transaction();
this.transaction.add(model);
controller.set('content', model);
controller.set('organizations', App.Organization.find());
},
events: {
delete: function(contact) {
contact.deleteRecord();
this.transaction.commit();
this.transaction = null;
this.transitionTo("listContacts");
},
save: function(contact) {
this.transaction.commit();
this.transaction = null;
this.transitionTo("editContact", contact);
}
}
});
Podczas usuwania kontaktu wracam doListContactsRoute, więc wywołanie do API, które zwraca mi listę kontaktów. W tym momencie usunięty kontakt nie został jeszcze usunięty na serwerze.
W rezultacie usunięty kontakt jest nadal obecny na moim szablonie listy kontaktów. Oto błąd:
"Uncaught Error: Attempted to handle event `loadedData` on <App.Contact:ember469:null> while in state rootState.deleted.inFlight. Called with undefined"
Czy robię coś źle lub czy istnieje sposób, aby to naprawić?