Bruke Mustache Template Library

For en stund siden viste jeg deg hvordan du bruker jQuery-malpluggen i et raskt tips; I dette raske tipset vil jeg vise deg hvordan du bruker et annet malbibliotek, mustasje, som er like enkelt å bruke.


Full Screencast



Trinn 1: Last ned mustasje

Du kan få Mustache.js fra sin GitHub prosjektside; Hvis du skal bruke det i et prosjekt, kan du laste det ned eller git klon den; Jeg har nettopp referert til råfilen på GitHub for dette raske tipset:

 

Nå kan du bruke den til å gjengi data!


Trinn 2: Hent dataene dine

Mest sannsynlig vil du få dataene dine fra serveren i form av JSON når du bruker overskget i produksjon. Men det er like enkelt å hardkode et objekt bokstavelig og bruke det, noe som vi gjør her.

var data = navn: "Noen Tuts + Nettsteder", nettsteder: ["Nettuts +", "Psdtuts +", "Mobiletuts +"], url: funksjon () returfunksjon (tekst, gjengivelse) text = render var url = text.trim (). toLowerCase (). split ('tuts +') [0] + '.tutsplus.com'; returnere '' + tekst + ''; ;

Nå er vi klare til å definere malen.


Trinn 3: Opprett din mal

Malen din er rett og slett streng; Du kan enten bruke en vanlig gammel JavaScript-streng, eller du kan sette malen i et skript og få det via noe som jQuery s html () metode (eller, selvfølgelig, innerhtml). Dette er sannsynligvis et bedre valg hvis du bruker en komplisert mal, fordi du kan bruke linjeskift. Bare husk å gi skriptet en type noe annet enn "tekst / javascript"; ellers kan nettlesere prøve å tolke det, og det vil føre til feil.

Malen din vil hovedsakelig være HTML; Når du vil bruke en verdi fra dataene dine, refererer du nøkkelnavnet til verdien i dataene. For å bruke Navn verdi i dataene ovenfor, vil du referere til det slik:

Navn

Blokker er et viktig stykke mustache: du kan bruke dem til å komme inn i arrays og objekter, så vel som for lambdas (funksjoner). Det er ganske enkelt å gjøre blokker: Bruk bare en åpnings- og lukkekode: åpningen starter med et pund (#) og den avsluttende med en skråstrek (/).

    #Nettsteder
  • .
  • / steder

Når iterating over arrayer, vil den implisitte operatøren "." Få deg verdien. Hvis sider var et objekt, du ville bruke det nøklene inne i blokken.

Å bruke funksjoner er litt vanskeligere. For data-delen krever Mustache.js en funksjon som returnerer funksjonen som skal brukes. Den funksjonen får passet teksten som skal gjengis (all teksten i overskytingsfunksjonskodene) og en funksjon som vil gjøre malteknappene inne i teksten. Så, hva som helst som returnerer, blir lagt inn i kodene. Du kan se dette på jobb i webadresser fungere i dataene ovenfor.


Trinn 4: Rend HTML

Det er veldig enkelt å gjengi HTML:

html = Mustache.to_html (mal, data);

Deretter kan du holde den HTML hvor du vil.


Den komplette kilden

 var data, mal, html; data = navn: "Noen Tuts + Nettsteder", nettsteder: ["Nettuts +", "Psdtuts +", "Mobiletuts +"], url: funksjon () returfunksjon (tekst, gjengivelse) text = render var url = text.trim (). toLowerCase (). split ('tuts +') [0] + '.tutsplus.com'; returnere '' + tekst + ''; ; mal = " 

Navn

    #Nettsteder
  • #url . url
  • / steder
"; html = Mustache.to_html (mal, data); document.write (html)

Konklusjon

For å lære mer om skjegg, sjekk ut nettstedet. Ha det gøy med det!