Estoy tratando de lograr algo que supongo que tiene una respuesta simple, pero de alguna manera no puedo encontrarlo leyendo el código fuente de ember-data
.Configurar una devolución de llamada después de una transacción ha cometido
Me gustaría activar una acción después de que un conjunto particular de modificaciones se haya confirmado en el almacén de datos. Este mi código actual:
var transaction = App.store.transaction();
user = App.get('currentUser');
transaction.add(user);
user.set('name', "Michael Jackson");
transaction.commit();
App.navigate('dashboard');
Mi primer intento fue añadir un observador sobre la propiedad de este usuario isDirty
, pero a) no parece idiomática y lo más importante b) tendría que eliminar manualmente dicho observador en la end: es propenso a errores si se produce una excepción entre ellos y no se elimina, por ejemplo.
¿Alguna idea? ¿Cómo harías esto?
Wow. Me siento muy estupido. No encontré esto antes: | - ¡Está justo en el léame! https://github.com/emberjs/data#record-lifecycle Gracias! – josepjaume
El problema es que esta lógica no pertenece al modelo en sí. Debe pertenecer a ese contexto específico. Ember introdujo recientemente una devolución de llamada de eventos de una sola vez que podría ser útil en este caso: https://github.com/emberjs/ember.js/commit/1809e65012b93c0a530bfcb95eec22d972069745#L0R19 así que podría fácilmente: model.one ('didCreate', function() {whatever}); – josepjaume
Quiero crear una imagen global de cargador AJAX que solo se desplaza cuando hay una confirmación, para cualquier modelo. ¿Cómo puede hacerse esto? –