template link for ember component ember.js handlebars.js mustache

ember.js - link - Manillar parcial vs. render vs. plantilla



ember template each (3)

El screencast de Fire Up Ember.js usa template partial , render para renderizar plantillas dentro de las plantillas, pero todavía no estoy seguro de saber cuál usar cuando.

En el mismo screencast, el partial se explica como el uso del contexto y todos los datos relativos al controlador actual, mientras que el render usa la plantilla, el contexto, etc, del controlador especificado:

¿Puede alguien aclarar las diferencias entre partial , template , render y cuándo (ejemplos) para usar cuál?


En términos de uso de la memoria del lado del cliente, cuál es mejor, renderizado o parcial. Asumiendo parcial sería mejor como pocos objetos menores


Esta chart dada en el sitio web de Ember da una buena comparación entre render, parcial y vista.

Aquí hay una imagen de fragmento de la comparación dada en el sitio web:


La forma en que lo entiendo, la forma en que se descomponen es así:

"render" le ofrece un contexto completo de vista / controlador / plantilla para trabajar con él.

Un ejemplo será una navegación superior que incluya piezas dinámicas. El contenido se mantendrá dentro de un TopNavController y se insertará en la plantilla de la aplicación usando "render"

"parcial" insertará una plantilla, pero esa plantilla usará el contexto actual en lugar del propio. Parcial es también una parte más nueva del marco, con la intención de reemplazar el uso de la plantilla hasta cierto punto.

Un ejemplo sería mostrar una lista de usuarios y hacer que cada usuario sea una pieza relativamente complicada en la lista (avatar, nombre, correo electrónico, etc.) puede recorrer la lista e insertar el parcial en el contexto de cada usuario.

"plantilla" solo inserta la plantilla usando el contexto actual. Aunque creo que no es un buen estilo usar una plantilla para representar piezas dentro de una plantilla, debería usar "parcial", aunque la plantilla funcionará de la misma manera para la mayoría de los casos.