LX: javascript und templates - PURE und Alternativen

Beitrag lesen

Nein, aber die meines Wissens einfachste HTML-Template-Engine in JS sieht folgendermaßen aus:

  • speichere Deine Templates mit Platzhaltern in <script type="text/html"></script>-Tags mit fester ID. Der Vorteil: Du kannst normalen HTML-Code verwenden und musst nicht Escapen oder Strings aus dem Code machen.
  • ersetze die Platzhalter (Hier ${bezeichner}) mit einer RegExp-replace und einem Callback, in dem Du die Ersetzungen aus dem JSON-Objekt ausliest:
function json2html(template, jsobj) {  
return document.getElementById(template).innerHTML.replace(/\$\{([^}]+)\}/g,  
    function(full, key) { return jsobj[key] || ''; });  
}  

  • Füge das generierte HTML an passender Stelle ein. Fertig!

Tip: Wenn Du noch mehr Geschwindigkeit brauchst, kannst Du Dir vorher einen Cache aus den Templates bauen.

Gruß, LX

--
RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
RFC 1925, Satz 11a: Siehe Regel 6a