Wie lade ich mehrere Vorlagen mit AngularJS dynamisch?

8

Ich bin neu in AngularJS, komme aus einem PHP-Hintergrund, wo ich die gesamte Template-Aggregation auf dem Server mache. Mit PHP würde ich mehrere Vorlagen greifen, sie zusammenmischen und dann an den Client-Browser senden. AngularJS erlaubt mir eine Vorlage mit ng-view einzufügen. Das ist großartig, aber es behandelt nicht den Fall, dass die Vorlage, die ich einfüge, Tags enthalten kann, die Platzhalter für andere Vorlagen sind. Zum Beispiel könnte ich folgendes als eine meiner Vorlagen haben:

%Vor%

In PHP würde ich diese Vorlage einfügen, dann den Inhalt von {content} durch eine andere Vorlage ersetzen. In AngularJS weiß ich, wie man die Hauptvorlage einfügt (mit ng-view ), aber ich bin mir nicht sicher, wie ich meine "Teilvorlage" dynamisch in das {content} -Tag laden kann. Wie soll das mit AngularJS geschehen?

    
Nancy Collier 30.06.2013, 03:21
quelle

2 Antworten

17

Ein direkter Ansatz wäre die Verwendung der ngInclude-Anweisung :

%Vor%

Dann können Sie im Controller, der dieser Vorlage zugeordnet ist, die Variable templatePath dynamisch definieren:

%Vor%     
Stewie 30.06.2013, 13:47
quelle
3

Die Verwendung von ng-view zum Verschachteln mehrerer Vorlagen wird derzeit nicht nativ in Angular.js unterstützt. Es gibt jedoch mehrere Optionen, um diese Funktionalität zu emulieren. Siehe die Antworten in diese SO-Frage für einige dieser Optionen, einschließlich der ui -router von akonsu vorgeschlagen.

    
John 30.06.2013 05:02
quelle

Tags und Links