Voglio interrompere la transizione su un percorso particolare e mostrare una modale. Ecco come il mio codice di rotta appare come:Emberjs interrompe transizione e mostra modale
export default Ember.Route.extend({
model: {/* some code here */},
actions: {
willTransition: function(transition) {
if (!this.controller.get('model.name')) {
console.log('aborting transition');
transition.abort();
this.send('showModal', {
template: 'campaign/campaign-name-modal',
controller: this.controller,
model: this.controller.get('model')
});
}
else {
// Bubble the `willTransition` action so that
// parent routes can decide whether or not to abort.
return true;
}
}
}
});
e poi nella mia application.hbs
, ho:
{{outlet 'modal'}}
Quello che sto osservando è che la transizione si interrompe, ma il mio modal
non si presenta. Quando passo l'ordine a qualcosa del tipo:
this.send('showModal', {
template: 'campaign/campaign-name-modal',
controller: this.controller,
model: this.controller.get('model')
});
console.log('aborting transition');
transition.abort();
la transizione non si interrompe affatto.
Non sono esattamente sicuro del motivo per cui ciò potrebbe accadere. Qualche indicazione?
Nel secondo codice, stanno producendo il log della console 'interruzione di transizione'? – AcidBurn