Come dovrebbe essere strutturato il "wizard" di AngularJS?

1

Per brevità, considera il seguente scenario:

Una parte della mia applicazione è una procedura guidata per portare nuovi clienti ed è una pagina dinamica. Un passaggio contiene informazioni di fatturazione, un altro passaggio è informazioni di configurazione, ecc. Poiché è una pagina, nella mia mente ho un controller per l'intera procedura guidata, ma ciò significa anche che ho modelli e funzioni per ogni passaggio in un nomeutente. js oltre ad utilizzare un gruppo di direttive ng-show per "mostrare" i passaggi. Questo non mi sembra giusto ... ho trascurato qualcosa nei documenti?

Modifica:

Per semplificare un po ', mi sembra di violare l'SRP e mi sento sporco.

    
posta sean 26.02.2014 - 13:43
fonte

1 risposta

1

È possibile avere un controller per ogni passaggio, ma in tal caso sarà necessario un modo per condividere lo stato tra i controller. Potresti usare diverse strategie per questo, come

  • un servizio angolare stateful
  • angular $ cacheFactory
  • sessione $ $ cookie / $ cookieStore.

Il tuo primo passo fa il suo lavoro e metti i suoi dati in questa struttura condivisa (sessione) e poi inoltrerai l'utente al passo successivo, che a sua volta controlla l'esistenza dei dati nella sessione o altrimenti riporta l'utente indietro al passaggio 1. Quindi ogni passaggio aggiorna i dati nell'oggetto di sessione e alla fine semplicemente distruggi / rimuovi i dati dalla sessione quando non sono più necessari.

    
risposta data 26.02.2014 - 13:55
fonte

Leggi altre domande sui tag