2012-01-18 8 views
5

Hasta donde yo sé, las plantillas se utilizan para separar la presentación de Logic y se puede reutilizar, ya que no se deponde en ninguna lógica ... Muchos me sugirieron que utilizara Handlebars.js para crear plantillas. (Esta es la primera vez que escucho este nombre).¿Qué es la plantilla sin lógica?

Quiero saber ¿Qué se entiende por plantilla sin lógica?

Gracias

Nota: He pasado por esta pregunta What's the advantage of Logic-less template (such as mustache)?, así .. Pero no tuve idea clara.

Respuesta

1

La tarea básica de una biblioteca de plantillas es proporcionar un mecanismo para completar algunos datos calculados en la plantilla más o menos estática, como rellenar el nombre en "Hola, $ {nombre}". Sin embargo, muchas bibliotecas de plantillas ofrecen funciones adicionales, como sentencias if-then, bucles, ejecución de código arbitrario, etc. Esta es la lógica que las plantillas sin lógica intentan evitar.

Esto significa que las librerías de plantillas sin lógica solo proporcionan la funcionalidad básica de rellenar los datos en una plantilla.

Las razones para usar plantillas sin lógica se dan en la pregunta a la que hace referencia, por lo que no las voy a enumerar aquí.

+0

Pero en el handle bar js también tenemos if statements rite? Entonces, ¿cómo se convirtió en lógica menos? – Jeevi

+1

¿Dónde dice que http://handlebarsjs.com/ no tiene lógica? –

+0

SO, ¿No tiene lógica menos plantilla? Entonces, ¿cómo se compatibilizan con el bigote js? – Jeevi

0

"Handlebars es un motor de plantillas sin lógica, lo que significa que sus plantillas tienen poca o ninguna lógica en la página HTML. El uso más importante de Handlebars y de cualquier motor de plantillas es mantener sus páginas HTML simple y limpio y desacoplado de los archivos JavaScript basados ​​en lógica, y Handlebars sirve bien para este propósito ". de javascriptissexy.com ¡Creo que la cita anterior responde a la pregunta original!

3

El manillar no tiene lógica ya que no puede ejecutar plantillas internas de JavaScript. No puede escribir {{# if num==1}}. En su lugar, debe preparar un booleano en JS: var numIsOne = num==1;, y la plantilla debe contener {{# if numIsOne }}. Eso es lo que significa "sin lógica".

Cuestiones relacionadas