Ich habe einen Index, der ein statisches Header-Menü und darunter eine ng-Ansicht bietet, die basierend auf der Route die richtige Vorlage auswählt. Wie dies zum Beispiel:AngularJS mehrere Vorlagen auf einer Seite
<navbar>
...
</navbar>
<div ng-view>
</div>
Alles ist so weit gut, wenn eine bestimmte Route getroffen wird, wird eine Vorlage geladen in diesem Behälter mit der zugehörigen Steuerung.
Jetzt habe ich eine andere Seite, die in ng-view geladen wird, und es wird gefeuert, wenn die URL "/ dashboard" getroffen wird. Das Problem ist, dass die Dashboard-Seite ein Sidebar-Menü hat, das auch Routing-Logik (mehr oder weniger) enthalten muss. Wenn ein Link aus dem Seitenleistenmenü geklickt wurde, muss ich nur die linke Seite der Seite laden (nicht den ganzen ng-view Container).
ich zwei Lösungen identifiziert:
1) eine Richtlinie erstellen, die dieses Sidebar-Menü speichert und injizieren sie in alle Seiten, die == durch die Sidebar-Menü behandelt werden> Routing noch von ng- behandelt wird Aussicht.
2) Verwendung ng-umfassen und eine Routing-Logik in der Dashboard-Seite wie dieses:
<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>
Gibt es einen anderen Ansatz? Oder was ist die beste Vorgehensweise beim Umgang mit einer Seitenleiste, die bestimmte Routen verarbeitet, und einem statischen Menü, das andere Routen abdeckt, mit der Erwähnung, dass das Seitenleistenmenü nur auf einigen Routen verfügbar ist.
Ich habe eine Malzeichnung zur Verfügung gestellt, in der Hoffnung, dass ich mein Problem besser erklären kann.
Warum nicht eckig-ui-Router verwenden? – nikhil
Sie können [angular-route-segment] (http://angular-route-segment.com/) auch überprüfen. –
@nikhil Ich dachte, dass es vielleicht eine eingebaute Lösung ohne eine weitere externe Abhängigkeit gibt –