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.