Gebruik van de Moustache-sjabloonbibliotheek

Een tijdje geleden heb ik je laten zien hoe je de plug-in jQuery-template in een snelle tip gebruikt; in deze snelle tip laat ik je zien hoe je een andere sjabloonbibliotheek, Moustache, kunt gebruiken, die net zo gemakkelijk te gebruiken is.


Volledige screencast



Stap 1: Download Moustache

Je kunt Moustache.js krijgen via de GitHub-projectpagina; als je het in een project gaat gebruiken, kun je het downloaden of git clone het; Ik heb zojuist verwezen naar het onbewerkte bestand op GitHub voor deze snelle tip:

 

Nu kunt u het gebruiken om gegevens weer te geven!


Stap 2: Verkrijg uw gegevens

Hoogstwaarschijnlijk krijgt u uw gegevens van de server in de vorm van JSON wanneer u Moustache gebruikt tijdens de productie. Het is echter net zo eenvoudig om een ​​object letterlijk te coderen en dat te gebruiken, wat we hier zullen doen.

var data = name: "Some Tuts + Sites", sites: ["Nettuts +", "Psdtuts +", "Mobiletuts +"], url: function () return function (text, render) text = render (text); var url = text.trim (). toLowerCase (). splitsen ('tuts +') [0] + '.tutsplus.com'; return '' + text + ''; ;

Nu zijn we klaar om de sjabloon te definiëren.


Stap 3: Maak uw sjabloon

Uw sjabloon is eenvoudig een tekenreeks; je kunt een normale oude JavaScript-string gebruiken, of je kunt de template in een script-tag plaatsen en deze krijgen via iets als jQuery's html () methode (of, natuurlijk, innerHTML). Dit is waarschijnlijk een betere keuze als u een ingewikkelde sjabloon gebruikt, omdat u regeleinden kunt gebruiken. Vergeet niet om het script een ander type te geven dan "text / javascript"; Anders kunnen browsers proberen het te interpreteren, en dat zal fouten veroorzaken.

Uw sjabloon zal voornamelijk HTML zijn; wanneer u een waarde uit uw gegevens wilt gebruiken, verwijs dan naar de sleutelnaam van de waarde in de gegevens. Om de te gebruiken naam waarde in de bovenstaande gegevens, zou je het als volgt verwijzen:

naam

Blokken zijn een belangrijk stuk Moustache: je kunt ze gebruiken om in reeksen en objecten te komen, evenals voor lambda's (functies). Het is vrij eenvoudig om blokken te doen: gebruik gewoon een openende en sluitende tag: de eerste begint met een pond (#) en de laatste met een schuine streep (/).

    #Sites
  • .
  • / Sites

Als u itereert over arrays, krijgt de impliciete operator "." De waarde. Als plaatsen was een object, je zou de toetsen in het blok gebruiken.

Het gebruik van functies is iets lastiger. Voor het gegevensgedeelte heeft Moustache.js een functie nodig dat komt terug de functie die moet worden gebruikt. Die functie krijgt de te genereren tekst doorgegeven (alle tekst binnen de snick-functie-tags) en een functie waarmee de sjabloontags in de tekst worden weergegeven. Vervolgens, wat die functie ook oplevert, wordt in de tags geplaatst. Je kunt dit aan het werk zien in de urls functie in de bovenstaande gegevens.


Stap 4: render de HTML

Het is heel eenvoudig om de HTML te renderen:

html = Mustache.to_html (sjabloon, gegevens);

Vervolgens kunt u die HTML-code plakken waar u maar wilt.


De volledige bron

 var data, template, html; data = name: "Some Tuts + Sites", sites: ["Nettuts +", "Psdtuts +", "Mobiletuts +"], url: function () return function (text, render) text = render (text); var url = text.trim (). toLowerCase (). splitsen ('tuts +') [0] + '.tutsplus.com'; return '' + text + ''; ; template = " 

naam

    #Sites
  • #url . / url
  • / Sites
"; html = Mustache.to_html (sjabloon, gegevens); document.write (html)

Conclusie

Raadpleeg de website voor meer informatie over Moustache. Veel plezier ermee!