AngularJS Controller diverso per ruolo?

1

Sto creando un'app AngularJS con un fine rilassato. Ho 4 tipi di utenti per i quali ciascun componente / pagina può avere un comportamento significativamente diverso. Qual è l'approccio migliore per implementarlo?

Ho un singolo html / partial e assegno un controller diverso per ruolo con diverse implementazioni per metodo? Dovrei avere un codice HTML completamente separato per ogni ruolo e un controller diverso? Dovrei semplicemente usare ifIsInrole comandi?

    
posta ChrisGeo 28.05.2015 - 21:15
fonte

1 risposta

2

Ho provato entrambi i controller indipendenti e un singolo controller con condizionali. Non è divertente gestire comportamenti leggermente diversi con tipi e modalità. Diversi controller avranno un sacco di codice ripetuto. Un singolo controller con ifs per ogni tipo diventerà molto prolisso.

Il mio suggerimento è di scrivere un paio di controller diversi per due tipi di utenti. Quando vedi il comportamento equivalente, spostalo in un controller principale e trasforma gli altri due in figli. Quindi completare i restanti due controller come figli del controller principale. Dovresti vedere il payoff abbastanza rapidamente.

Per quanto riguarda l'HTML, è probabilmente meglio avere pagine / partial parziali per ciascuna. ng-include e ng-if sarebbe bello per questo.

Ecco una rapida spiegazione dei controllori genitore / figlio.

E il modello di progettazione del modello sarà piuttosto utile. Mi aspetto che funzioni correttamente tra i controller padre e figlio .

Sono più che felice di sentire altre opinioni da quando ho riscontrato questo problema alcune volte, me stesso.

    
risposta data 28.05.2015 - 23:32
fonte

Leggi altre domande sui tag