Verwenden Sie Staubvorlagen mit eckigen js

8

Ich bin neu in angularjs Umgebung, ich möchte eckig mit Staubvorlagen verwenden, da die aktuelle Anwendung Staubvorlagen hat, aber ich konnte nichts finden, wie ich meine vorhandenen Staubvorlagen mit angular js verwenden kann.

Das Problem ist, dass Staubvorlagen unterschiedliche Syntax haben, während eckige js Vorlagen die von ihr bereitgestellten Anweisungen verwenden.

Die Frage ist also: "Gibt es eine Möglichkeit, meine vorhandenen Staubvorlagen mit eckigen js zu verwenden?" Oder ich muss die Vorlagen nach angularjs Spezifikation neu schreiben.

    
Himanshu 06.08.2014, 04:57
quelle

5 Antworten

6

Es gibt einen Teil, der könnte funktioniert in den meisten Fällen ohne viel neu zu schreiben. Ich gehe davon aus, dass Sie die Standardeinstellungen für Staub und Winkel verwenden. Daher müssen Sie die doppelten geschweiften Klammern durch Singles ersetzen:

%Vor%

Wenn Sie einfache Anwendungsfälle hatten, etwa in einer Vorlage:

%Vor%

Wenn Sie Angular diese Datei über templateUrl geben (oder laden Sie sie mit gulp-angular-templatecache oder was auch immer), könnten Sie Folgendes tun:

%Vor%

Dies würde rendern. Aber Sie müssten viel überprüfen, umbenennen usw..

Für komplexere Anwendungsfälle müssten Sie etwas umbenennen, suchen und ersetzen. Beispiel: Wenn Sie eine einfache Schleife hatten und dort eine ng-Wiederholung wollten, müssten Sie ersetzen:

%Vor%

mit diesem:

%Vor%

Oder wenn Sie Includes hatten, ändern Sie:

%Vor%

bis

%Vor%

Sie können definitiv einige der Komponenten wiederverwenden, aber die Frage ist, wie viele und was Sie bekommen würden. Und ich bin mir nicht sicher, wie andere Direktiven, die du einbringen wirst, auf die Verwendung von Single-Curly-Brace reagieren, sie könnten kaputt gehen, also wäre es wahrscheinlich besser, sie einfach zu suchen und zu ersetzen.

Benennen Sie sie natürlich alle in .html, .dust oder ähnlich um, wenn sie nicht so benannt sind.

    
Zlatko 29.09.2014, 22:13
quelle
3

AngularJS kann die DustJS -Templates im Frontend nicht verwenden. Sie müssen die Vorlagen für AngularJS neu schreiben.

Nachdem das gesagt wurde, Wenn Sie auf AngularJS eingestellt sind: Sie können Angular-for-server auschecken, aber Sie müssen immer noch DustJS-Vorlagen neu schreiben.

>

Wenn Sie Frameworks noch in Erwägung ziehen: Schauen Sie sich ReactJS

an

ReactJS ermöglicht die Wiederverwendung von Vorlagen sowohl auf dem Client als auch auf dem Server. Außerdem übernimmt es das Template am Front-End (für Datenbindung und Event-Management). Dies ist SEO freundlich, da es die erste Seite auf dem Server selbst darstellt.

Wenn Sie auf DustJS-Vorlagen eingestellt sind: Ich verwende derzeit Dustjs für die Entwicklung. Eine der größten Hürden, mit denen ich konfrontiert bin, ist die Einrichtung von SPA im Frontend. Die gesamte Ereignisverwaltung, das Routing und die Datenbindung müssen vom Entwickler vorgenommen werden, sobald die Seite zum ersten Mal am Frontend gerendert wird. Dies gibt mir den Vorteil, dieselbe Vorlage sowohl auf dem Client als auch auf dem Server zu verwenden und ist auch SEO-freundlich, da die erste Seite auf dem Server selbst gerendert wird.

Hoffe, das hilft.

    
myusuf 25.09.2014 19:00
quelle
0

Ich stimme anderen zu. Ich hatte ähnliches Problem mit Lenker. Aber es zu eckig zu migrieren war einfach. Vorteile davon sind großartig. AngularJs hat viele nützliche Anweisungen zweitens - es entspricht Controller.

Wenn Sie es trotzdem verwenden möchten ... Direktiven, Controller haben Template-Prop, Sie können den Template-Code dort einfügen. Aber es muss eckig freundlich sein :) funktionierte mit Lenker für mich. Aber nach einer Weile habe ich beschlossen, es zu entfernen.

    
Beri 29.09.2014 19:31
quelle
0

... oder Sie können einfach die geschweiften Klammern für die Angular-Vorlagen kompilieren, etwa wie folgt:

%Vor%

Thema im Repo von Krakenjs, wo die Lösung kommentiert wird. Abschnitt im Dust.js-Lernprogramm

Ich hoffe, es hilft!

    
QuarK 04.12.2014 09:38
quelle
0

Einfachste Lösung für dieses Problem. Stellen Sie einfach sicher, dass Sie einen Platz nach den ersten Doppelstreben lassen und Staub wird ignoriert und eckig wird es aufnehmen.

%Vor%     
frank 13.04.2016 01:11
quelle