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.
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.
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.
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.
... 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!
Tags und Links javascript angularjs templates dust.js