1.- Clonar repositorio
git clone https://github.com/janl/mustache.js.git cd mustache.js
2.- Instalar Rake (debes tener instalado Ruby)
sudo apt-get install rake
3.- Compilar el port de mustachejs para JQuery
rake jquery
4.- Copiar el archivo jquey.mustache.js generado a la carpeta del proyecto
cp jquery.mustache.js /carpeta/del/proyecto/js/
5.- Referenciar al final de body al archivo jquery.mustache.js
<body> <!-- Todo el código hasta aquí --> <script src="bootstrap/jquery.mustache.js"></script> </body>
6.- Supongamos que el JSON a recibir tiene la siguiente estructura:
usuarios: [
- id: "104252322540371913346",
- nickname: "Joebuntu",
- foto: "http://colldev.com/fotos/05464654654.jpg",
- apellido: "Robles",
- nombre: "Joe",
- puntos: 17,
- {
- id: "109036977773341074539",
- nickname: "Master Ojitos",
- foto: "http://colldev.com/fotos/46546546046.jpg",
- apellido: "García",
- nombre: "Ricardo",
- puntos: 15,
- {
- id: "118101928727597051061",
- nickname: "El Chamo",
- foto: "http://colldev.com/fotos/94556056565.jpg",
- apellido: "Mestanza",
- nombre: "Enmanuel",
- puntos: 22,
7.- El template debería tener el siguiente contenido:
<table class="table-striped"> <thead> <tr> <th class="nosort">Foto</th> <th>Apellido</th> <th>Nombre</th> <th>Puntos</th> </tr> </thead> <tbody> {{ #usuarios }} <tr id="result_{{ id }}"> <td> <a href="https://plus.google.com/{{ id }}" title="{{ nickname }}"><img src="{{ foto }}" /></a> </td> <td>{{ apellido }}</td> <td>{{ nombre }}</td> <td>{{ puntos }}</td> </tr> {{ /usuarios }} </tbody> </table>
6.- El modo de usar el template luego de recibir el JSON es:
$.getJSON("/controlador/que/devuelve/json")//recibe la respuesta en json .done(function(data){//al término $.get("/ruta/al/template.html", function(template){//lee el template html $("div#search_results").html('');//vacía el resultado if (data.videos == '') {//si no hay resultados var app = '<div class="text-center"><h4>No hay resultados para la búsqueda:</h4></div>'; } else {//si hay resultados var app = $.mustache(template, data); } $("div#search_results").append(app);//agrega resultados iterados }); });7.- El resultado será:
Foto | Apellido | Nombres | Puntos |
---|---|---|---|
Robles | Joe | 17 | |
García | Ricardo | 15 | |
Mestanza | Enmanuel | 22 |
No hay comentarios.:
Publicar un comentario
Puedes comentar como te gustaría que comenten de ti.