Sto cercando di ottenere qualcosa che immagino abbia una risposta semplice ma in qualche modo non riesco a trovarlo leggendo il codice sorgente di ember-data
.Configura una richiamata dopo che una transazione è stata commessa
Vorrei attivare un'azione dopo che un particolare insieme di modifiche è stato eseguito sul datastore. Questo il mio codice corrente:
var transaction = App.store.transaction();
user = App.get('currentUser');
transaction.add(user);
user.set('name', "Michael Jackson");
transaction.commit();
App.navigate('dashboard');
Il mio primo tentativo è stato quello di aggiungere un osservatore sulla proprietà di questo utente isDirty
, ma a) non sembra idiomatica e, soprattutto b) avrei dovuto rimuovere manualmente che di osservatore presso le end - è incline agli errori se qualche eccezione si alza in mezzo e non viene rimossa, per esempio.
Qualche idea? come lo faresti?
Wow. Mi sento così stupido. Non ho trovato questo prima: | - è giusto sul readme !! https://github.com/emberjs/data#record-lifecycle Grazie !! – josepjaume
Il fatto è che questa logica non appartiene al modello stesso. Dovrebbe appartenere a quel contesto specifico. Ember ha recentemente introdotto un callback evento di una volta che potrebbe essere utile in questo caso: https://github.com/emberjs/ember.js/commit/1809e65012b93c0a530bfcb95eec22d972069745#L0R19 così ho potuto facilmente: model.one ('doneCreate', function() {whatever}); – josepjaume
Voglio creare un'immagine globale AJAX-loader che rotola solo quando c'è un commit in atto, per qualsiasi modello. Come si può fare? –