Il mio utente può lasciare uno stato ma prima voglio mostrare una finestra di dialogo modale "Vuoi salvare?"
SOLO se i dati dell'utente sono sporchi significa che è cambiato.
Quello che NON voglio è attaccare una proprietà isDirty nel mio EditController al $ rootScope andare all'evento stateChangeStart e controllare lì isDirty e quindi mostrare/non salvare la finestra di dialogo.
Prevenire le variabili globali dice ogni principiante libro javascript ...
1.) Qual è allora il modo pro per evitare un cambiamento di stato, senza hacking del $ rootscope ?.
2.) Esistono librerie di supporto per ui-router che migliorano i ganci della funzione di offerta del router-UI all'interno del controller per incapsulare la logica ui?
divertente che non ho pensato al $ ambito locale comune vedere sempre tutti i campioni utilizzando $ rootScope, forse un cattivo esempio ... il vostro suggerimento (1) ha funzionato! – Elisabeth
Mi sono anche reso conto che devo differenziare l'esecuzione logica nel $ rootState "stateChangeStart" solo quando è attivato un certo "ToState" (perché non voglio chiedere in nessun $ scope.on ("stateChangeStart) per un certo "ToState") e la logica viene eseguita quando uno stato inizia a cambiare e ora leggo ora l'ambito $ locale per gestire correttamente isDirty. – Elisabeth
Come riprendi l'evento? Dire che voglio fare operazioni xyz e quindi riprendere l'evento e andare allo stato desiderato – molerat