Non usi i templates jQuery? Non sai cosa perdi…
In preparazione al suo imminente discorso sui Templates in jQuery, Rey Bango ha eseguito una ‘profonda immersione’ sul plugin jQuery Template creato da Microsoft.
La cosa più interessante che riguarda i template è il fatto che lasciano facilmente strutturare i contenuti senza tutti i problemi di concatenazione di stringhe.
Ad esempio, supponiamo di dover visualizzare una serie di di dati che contengono un ID ed un nome facendo visualizzare un collegamento ipertestuale sul nome. Dovremmo creare un codice come questo:
var clRec = "";
for(var i=0; i<client.name.length; i++) {
clRec += "<li><a href='clients/"+client.id[i]+"'>" + client.name[i] + "</a></li>";
}
ma, utilizzando i template, potremmo avere un codice più leggibile e gestibile:
<li><a href="clients/${id}">${name}</a></li>
Il secondo frammento di codice è molto semplice da realizzare: è un template creato per visualizzare il nome come collegamento ipertestuale in una lista.
In primo luogo, includiamo jQuery e il plugin Templates jQuery nella nostra pagina:
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script> <script src="jquery.tmpl.js" type="text/javascript"></script>
poi andiamo a definire i dati che si desidera vengano visualizzati.
Questi potrebbero provenire da una chiamata XHR oppure essere predefiniti, come ad esempio:
var clientData = [
{ name: "Rey Bango", id: 1 },
{ name: "Mark Goldberg", id: 2 },
{ name: "Jen Statford", id: 3 }
];
Andremo poi a definire il template:
<script id="clientTemplate" type="text/html">
<li><a href="clients/${id}">${name}</a></li>
</script>
I tag nello “script” sono necessari e devono essere utilizzati in quanto permettono al modello di essere inserito all’interno del corpo della pagina. Si può notare che i segnaposto sono stati definiti come $(id) ed $(name) che sono gli stessi nomi utilizzati per gli identificatori dei nostri dati. Il simbolo “${}” dice al parser del template che il campo deve essere sostituito con il valore atteso.
A questo punto effettuiamo la chiamata al plugin jQuery Template per visualizzare i dati utilizzando il modello:
$("#clientTemplate").tmpl(clientData).appendTo( "ul" );
Il metodo .tmpl() accetta i dati che abbiamo definito e gestisce l’analisi del modello che abbiamo selezionato.
Abbiamo poi utilizzato la funzione jQuery .appendTo() per aggiungere i risultati in una lista non ordinata.
Tutto questo dà il seguente risultato:

Ed ecco il codice completo da utilizzare:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex" />
<title>Template Test</title>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script src="jquery.tmpl.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var clientData = [
{ name: "Rey Bango", id: 1 },
{ name: "Mark Goldberg", id: 2 },
{ name: "Jen Statford", id: 3 }
];
$("#clientTemplate").tmpl(clientData).appendTo( "ul" );
});
</script>
<script id="clientTemplate" type="text/html">
<li><a href="clients/${id}">${name}</a></li>
</script>
</head>
<body>
<ul></ul>
</body>
</html>
[Liberamente tradotto dall'articolo Not Using jQuery JavaScript Templates? You're Really Missing Out di Rey Bango]
Segnala Errore
- Marco Pivetta
- Marco Pivetta
- Marco Pivetta
- Marco Pivetta
- http://www.jqueryitalia.org jqueryitalia
- Marco Pivetta
- Marco Pivetta
- http://www.ilcaimano.it Caimano
- Marco Pivetta
- caimano
- http://www.ilcaimano.it Caimano
- Marco Pivetta
- caimano
- http://www.jqueryitalia.org jqueryitalia
RSS Feed
Iscriviti per ricevere le ultime news
Social Network
Seguici su Meetups
Sostieni jQuery Italia
Commenti
Tags
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
I Più Scaricati
- gMap ver. 1.0.4 (327 volte)
- Easy Accordion ver. 0.1 (261 volte)
- TinyTips ver. 1.1 (251 volte)
- jQueryUI 1.8 rc1 ver. 1.8 rc1 (235 volte)
- jQuery Digital Clock ver. 2.1.0 (224 volte)
- Form Wizard ver. 2.0.1 (214 volte)
- jQuery File Upload ver. 1.0.0 (209 volte)

Categoria: 



