Ich suche nach einer Template-Engine für die Client-Seite. Ich habe einige wie jsRepeater und jQuery Templates ausprobiert. Während sie in FireFox in Ordnung zu sein scheinen, scheinen sie alle in IE7 zusammenzubrechen, wenn es um das Rendern von HTML-Tabellen geht.
Ich habe mir auch MicrosoftAjaxTemplates.js angesehen (von http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766 ), aber es stellte sich heraus, dass das gleiche Problem vorliegt.
Irgendwelche Ratschläge zu anderen Vorlagenmotoren?
Antworten:
Schauen Sie sich Rick Strahls Post- Client-Vorlage mit jQuery an . Er erkundet jTemplates, macht dann aber ein besseres Argument für John Resigs Micro-Templating-Lösung und verbessert sie sogar ein wenig. Gute Vergleiche, viele Proben.
quelle
Ich habe gerade ein paar Nachforschungen angestellt und werde jquery-tmpl verwenden . Warum?
Mehr hier: http://forum.jquery.com/topic/templating-syntax
quelle
jQote: http://aefxx.com/jquery-plugins/jqote/
Jemand nahm Resigs Micro-Templating-Lösung und packte sie in ein jQuery-Plugin.
Ich werde dies verwenden, bis Resig sein eigenes veröffentlicht (wenn er sein eigenes veröffentlicht).
Danke für den Tipp, ewbi.
quelle
jQuery Nano :
quelle
jQuery-tmpl befindet sich ab jQuery 1.5 im jQuery-Kern:
http://blog.jquery.com/2010/10/04/new-official-jquery-plugins-provide-templating-data-linking-and-globalization/
Die offizielle Dokumentation finden Sie hier:
http://api.jquery.com/category/plugins/templates/
BEARBEITEN: Es wurde in jQuery 1.5 weggelassen und wird nun vom jQuery UI-Team koordiniert, da es eine Abhängigkeit vom kommenden jQuery UI Grid sein wird.
http://blog.jquery.it/2011/04/16/official-plugins-a-change-in-the-roadmap/
quelle
Ich bin mir nicht sicher, wie es Ihr spezifisches Problem behandelt, aber es gibt auch die PURE- Vorlagen-Engine.
quelle
script
Tags mit anderen Attributentype
als verwendentext/javascript
. Dies ist eine "Eigenart", die ungültiges HTML zulässt.Es hängt davon ab, wie Sie "am besten" definieren. Bitte lesen Sie meinen Beitrag hier zum Thema
Wenn Sie nach dem schnellsten suchen , hier ist ein schöner Benchmark , es scheint, dass DoT gewinnt und alle anderen zurücklässt
Wenn Sie nach dem offiziellsten JQuery-Plugin suchen , habe ich Folgendes herausgefunden
Teil I: JQuery-Vorlagen
Das vorübergehend offizielle Beta - JQuery-Vorlagen-Plugin war dieses http://api.jquery.com/category/plugins/templates/
Aber anscheinend wurde vor nicht allzu langer Zeit beschlossen, es in der Beta zu behalten ...
Teil II: Der nächste Schritt
Die neue Roadmap scheint auf eine Reihe neuer Plugins zu zielen, JSRender (unabhängig von DOM und sogar der JQuery Template Rendering Engine) und JSViews die eine nette Datenbindung und Implementierung von Beobachtern / beobachtbaren Mustern aufweisen
Hier ist der Blogbeitrag zum Thema
http://www.borismoore.com/2011/10/jquery-templates-and-jsviews-roadmap.html
Und hier ist die neueste Quelle
Andere Ressourcen
Eine schöne Präsentation zum Thema http://www.slideshare.net/BorisMoore/jsviews-next-generation-jquery-templates
Arbeitsdemos: http://borismoore.github.com/jsviews/demos/index.html
Beachten Sie, dass es sich noch nicht einmal in der Beta-Phase befindet und nur ein Roadmap-Element ist. Es scheint jedoch ein guter Kandidat zu sein, um eine offizielle JQuery / JQueryUI-Erweiterung für Vorlagen und UI-Bindungen zu werden
quelle
Nur um der Dummkopf zu sein ^^
http://jsfiddle.net/molokoloco/w8xSx/ ;)
quelle
Dies ist nicht jsquery-spezifisch, aber hier ist eine JS-basierte Vorlagenbibliothek, die von Google als Open Source veröffentlicht wurde:
http://code.google.com/p/google-jstemplate/
Dies ermöglicht die Verwendung von DOM-Elementen als Vorlagen und ist neu (da die Ausgabe eines Vorlagen-Renderings immer noch eine Vorlage ist, die mit einem anderen Datenmodell neu gerendert werden kann).
quelle
Andere haben auf jquery-tmpl hingewiesen, und ich habe diese Antwort positiv bewertet. Aber schauen Sie sich unbedingt die Github-Gabeln an.
Es gibt wichtige Korrekturen und interessante Funktionen. http://github.com/jquery/jquery-tmpl/network
quelle
John Resig hat einen, den er in seinem Blog gepostet hat. http://ejohn.org/blog/javascript-micro-templating/
quelle
Wenn Sie in .NET Framework 2.0 / 3.5 arbeiten, sollten Sie sich JBST ansehen, wie es von http://JsonFx.net implementiert wird . Es verfügt über eine clientseitige Vorlagenlösung mit vertrauter JSP / ASP-Syntax, die jedoch zur Erstellungszeit für kompakte cachefähige Vorlagen vorkompiliert wird, die zur Laufzeit nicht analysiert werden müssen. Es funktioniert gut mit jQuery und anderen JavaScript-Bibliotheken, da die Vorlagen selbst zu reinem JavaScript kompiliert werden.
quelle
Ich habe jtemplates jquery pluging verwendet, aber die Leistung war wirklich schlecht. Ich habe zu trimpath ( http://code.google.com/p/trimpath/wiki/JavaScriptTemplates ) gewechselt, das eine viel bessere Leistung bietet. Ich habe keine Probleme mit IE7 oder FF bemerkt.
quelle
Für sehr leichte Arbeiten ist jquery-tmpl ausreichend, erfordert jedoch in einigen Fällen, dass die Daten wissen, wie sie sich selbst formatieren (schlechte Sache!).
Wenn Sie nach einem umfassenderen Vorlagen-Plugin suchen, würde ich Orange-J empfehlen . Es wurde von Freemarker inspiriert. Es unterstützt, wenn sonst Objekte und Arrays, Inline-Javascript, einschließlich Vorlagen in Vorlagen, durchlaufen werden, und verfügt über hervorragende Formatierungsoptionen für die Ausgabe (maxlen, wordboundary, htmlentities usw.).
Oh, und einfache Syntax.
quelle
Vielleicht möchten Sie ein wenig darüber nachdenken, wie Sie Ihre Vorlagen gestalten möchten.
Ein Problem bei vielen der aufgelisteten Vorlagenlösungen (jQote, jquery-tmpl, jTemplates) besteht darin, dass Sie Nicht-HTML in Ihr HTML einfügen müssen. Dies kann in HTML-Tools oder in einem Entwicklungsprozess mit HTML-Designern schwierig sein . Ich persönlich mag das Gefühl dieses Ansatzes nicht, obwohl er seine Vor- und Nachteile hat.
Es gibt eine andere Klasse von Vorlagenansätzen, die normales HTML verwenden, es Ihnen jedoch ermöglichen, Datenbindungen mit Elementattributen, CSS-Klassen oder externen Zuordnungen anzugeben.
Knockout ist ein gutes Beispiel für diesen Ansatz, aber ich habe ihn nicht selbst verwendet, daher überlasse ich es den Abstimmungen, zu entscheiden, ob es anderen gefällt oder nicht. Zumindest bis ich Zeit habe, mehr damit zu spielen.
PURE als weitere Antwort aufgeführt ist ein weiteres Beispiel für diesen Ansatz.
Als Referenz können Sie sich auch chain.js ansehen , aber es scheint seit seiner ursprünglichen Veröffentlichung nicht viel aktualisiert worden zu sein. Weitere Hintergrundinformationen finden Sie unter http://javascriptly.com/2008/08/a-better-javascript-template-engine/ .
quelle
Dropbox mit John Resigs Template Engine auf der Website. Sie haben es ein wenig modifiziert, das Sie in dieser js-Datei von dropbox einchecken können . Suchen Sie in dieser Datei nach tmpl und Sie erhalten den Code der Template-Engine.
Vielen Dank. Hoffe, es wird für jemanden nützlich sein.
quelle
Ich verwende derzeit ein Multi-HTML-Template-Framework. Dieses Framework erleichtert das Importieren von Vorlagendaten in Ihr DOM erheblich. Auch tolle MVC-Modellierung.
http://www.enfusion-framework.org/ (siehe Beispiele!)
quelle
Es gibt auch eine Neufassung von PURE by beebole - jquery pure html templates - https://github.com/mpapis/jquery-pure-templates
Es sollte ein viel automatischeres Rendern ermöglichen, hauptsächlich mit JQuery-Selektoren. Wichtiger ist jedoch, dass keine ausgefallenen Dinge in HTML eingefügt werden müssen.
quelle