Hey Leute, ich arbeite mit twitter's typeahead.js und ich frage mich, ob es möglich ist% zu ändern co_de%, um etwas anderes als hogan.js
zu verwenden?
Ich schaue mir die jetzt Code verkompliziert und ich habe keine Ahnung, was ich für etwas so Einfaches ändern soll. Ein Suchen und Ersetzen bricht es.
Ich frage das hauptsächlich, weil ich Angular JS verwende, aber twitter's typeahead benötigt eine Templating Engine, die dazu führt, dass hogan und angular's {{}}
zusammenstoßen. Eine noch bessere Lösung wäre die einfache Änderung von Angular JS (ich weiß, dass es keine Template-Engine ist) und das Ablegen von Hogan, um die folgenden Kriterien zu erfüllen:
Jede Template-Engine arbeitet mit typeahead.js, solange sie der folgenden API entspricht:
%Vor%Ignoriere die Dokumentation dazu, schaue einfach auf den Quellcode :
%Vor% Es passiert, dass Sie einfach eine Funktion an template
übergeben können, die mit einem context
-Objekt aufgerufen werden kann, das die Daten enthält, die Sie zum Zeitpunkt der Instanziierung in den Datenobjekten übergeben haben, also:
Es scheint, dass das Template-Engine-Ergebnis, das typeahead.js erwartet, ein HTML-String ist und nicht das dom-Element (in dropdown_view.js). Ich bin also nicht sicher, ob es eine gute Lösung für die Verwendung einer eckigen Vorlage gibt. Als Test konnte ich erreichen, dass das Ergebnis an eine eckige Vorlage gebunden wird, aber es muss in ein Element gerendert werden und dann den HTML-Wert aus dem Element erhalten, nachdem es mit den Daten verbunden wurde. Ich mag diesen Ansatz nicht, aber ich dachte mir, jemand könnte ihn nützlich finden. Ich denke, ich werde mit einer Template-Funktion wie im vorherigen Post gehen.
Jade Vorlage sieht wie
aus %Vor%Richtlinie
%Vor%Tags und Links angularjs mustache typeahead.js hogan.js templating-engine