Ho un indice che serve un menu di intestazione statico, e al di sotto di una vista ng quella basata sulla rotta, seleziona il modello giusto. Ti piace questa ad esempio:AngularJS più modelli in una pagina
<navbar>
...
</navbar>
<div ng-view>
</div>
Tutto è bene finora, quando un percorso specifico è colpito, un modello viene caricato in tale contenitore con il controller associato.
Ora, ho un'altra pagina che viene caricata all'interno di ng-view ed è attivata quando url "/ dashboard" viene colpito. Il problema è che la pagina del dashboard ha un menu della barra laterale che deve contenere anche qualche logica di routing (più o meno). Quando un collegamento è stato cliccato dal menu della barra laterale, devo caricare solo il lato sinistro della pagina (non l'intero contenitore della vista ng).
Ho individuato due soluzioni:
1) Creare una direttiva che memorizza quel menu barra laterale, e iniettare in tutte le pagine che vengono gestiti dal menu laterale ==> routing è comunque gestita da ng- vista.
2) Utilizzare ng-include e hanno una certa logica di routing nella pagina dashboard in questo modo:
<a ng-click="templateType = 1">Template 1</a>
<a ng-click="templateType = 2">Template 1</a>
<div ng-if="templateType === 1" ng-include="template1"
ng-controller="Template1Controller"></div>
<div ng-if="templateType === 2" ng-include="template2"
ng-controller="Template2Controller"></div>
C'è un altro approccio? Oppure qual è la procedura migliore per gestire sia una barra laterale che gestisce alcuni percorsi, sia un menu statico che gestisce altri percorsi, con la menzione che il menu della barra laterale è disponibile solo su alcuni dei percorsi.
Ho fornito un disegno di pittura, nella speranza che possa spiegare meglio il mio problema.
Perché non si utilizzano angolare-ui-router? – nikhil
È anche possibile selezionare [percorso angolare-segmento] (http://angular-route-segment.com/). –
@nikhil Ho pensato che forse c'era una soluzione in-built senza aggiungere un'altra dipendenza esterna –