AngularJS mehrere templates in einer Seite

Habe ich einen index, dient eine statische header-Menü, und unten, dass eine ng-view, basierend auf der route, wählt die passende Vorlage. Wie diese zum Beispiel:

<navbar>
    ...
</navbar>
<div ng-view>
</div>

Alles ist gut so weit, wenn Sie eine bestimmte route zu einem Treffer, eine Vorlage geladen wird, die container mit den zugehörigen controller.

Nun, ich habe eine andere Seite geladen innen ng-view, und es wird ausgelöst, wenn die url "/dashboard" ist der hit. Das problem ist, dass die dashboard-Seite hat eine sidebar-Menü, dass muss auch enthalten einige routing-Logik (mehr oder weniger). Wenn ein link angeklickt wurde aus der sidebar-Menü, dass ich zum laden nur die linke Seite (nicht die ganze ng-view-container).

Habe ich identifizierte zwei Lösungen:

1) Erstellen Sie eine Richtlinie, die speichert, sidebar-Menü, und injizieren es in alle Seiten, erfolgt durch das sidebar-Menü, ==> routing ist immer noch behandelt von ng-view.

2) mit ng-include und haben einige routing-Logik auf der dashboard-Seite wie diese:

 <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 Praxis im Umgang sowohl eine Seitenleiste, die Griffe einige Routen, und ein statisches Menü, mit der anderen Routen, mit der Erwähnung, dass das sidebar-Menü ist nur verfügbar auf einigen der Routen.

Habe ich eine paint Zeichnung, in der Hoffnung, dass ich erklären kann mein problem besser.

AngularJS mehrere templates in einer Seite

Warum kommst du nicht mit angular-ui-router?
Außerdem können Sie überprüfen, angular-route-segment aus.
Ich dachte, vielleicht gab es eine eingebaute Lösung, ohne das hinzufügen von weiteren externen Abhängigkeiten
Sie haben hacken an viele viele Orte, um dies zu erreichen. Obwohl, mit angular-ui-router, Ihr Leben wird einfach und glatt. Es bietet eine Menge Flexibilität.
angular-ui-router scheint wie eine wirklich gute Lösung, aber mit wäre es erforderlich zu überdenken, alle komplexen routing, der bereits in der Anwendung. Es wäre schön gewesen, wenn ich verwendet hätte es seit dem Beginn des Projekts.

InformationsquelleAutor Rus Paul | 2015-06-11

Schreibe einen Kommentar