19

Aquí es un ejemplo de plantilla de JavaScript de la página de demostración sola aplicación de larga vida AJAX de Ben Nadel tomada de: [source]Cuándo usar los motores de plantillas de JavaScript?

<script id="contact-list-item-template" type="application/template"> 

    <li class="contact clear-fix"> 

      <div class="summary"> 
        <a class="name">${name}</a> 
      </div> 

      <div class="actions"> 
        <a href="javascript:void(0)" class="more">more</a> &nbsp;|&nbsp; 
        <a href="#/contacts/edit/${id}" class="edit">edit</a> &nbsp;|&nbsp; 
        <a href="#/contacts/delete/${id}" class="delete">delete</a> 
      </div> 

      <dl class="details clear-fix"> 
        <dt> 
          name: 
        </dt> 
        <dd> 
          ${name} 
        </dd> 
        <dt> 
          phone: 
        </dt> 
        <dd> 
          ${phone} 
        </dd> 
        <dt> 
          email: 
        </dt> 
        <dd> 
          ${email} 
        </dd> 
      </dl> 

    </li> 

quiero preguntar cuál es el propósito de utilizar un javascript motores de plantilla como ¿ese? ¿Es para guardar el ancho de banda? ¿Es solo cuestión de Separation of concerns? ¿Te ayudará a combatir los problemas de pérdida de memoria del navegador?

¿Cuándo debería usar el motor de plantillas y cuándo es más fácil ir con respuestas RAW HTML sin formato?

discusión relacionada:

JQuery templating engines

+2

Me gustaría saber también esto: cuando usamos cliente de plantillas lado? – jrharshath

+0

@Jr: Por favor, consulte mi respuesta. – Tarik

Respuesta

39

de plantillas es una buena solución en algunos escenarios:

  • Cargando todos los datos desde el servidor sobre todo en la lista rica muestra
  • La adición o actualizar nuevos elementos en las listas
  • En cualquier lugar que necesite t o añadir nuevos contenidos complejos a la página
  • Cualquier cosa que requiera el cliente HTML renderizado lado

Fuente: http://www.west-wind.com/Weblog/posts/509108.aspx

+0

Desearía poder dar dos vueltas a su respuesta :) Gracias, Aaron – ep3static

+0

Me complace ayudarlo :) Gracias ... – Tarik

+1

"Cualquier cosa que requiera la representación de HTML del lado del cliente". ¿No (virtualmente) todo HTML requiere renderización? ¿O quieres decir cuando javascript se usa para representar dinámicamente cosas? – BVernon

Cuestiones relacionadas