Fire Up Ember.js screencast utilise partial
, template
, render
pour rendre les modèles dans les modèles, mais je ne suis toujours pas sûr de savoir lequel utiliser quand.
Dans le même screencast, partial
est expliqué comme utilisant le contexte et toutes les données relatives au contrôleur actuel, tandis que render
utilise le modèle de correspondance, le contexte, etc. du contrôleur spécifié:
Quelqu'un peut-il clarifier les différences entre partial
, template
, render
et quand (exemples) utiliser quoi?
La façon dont je le comprends, la façon dont ils se décomposent est comme ceci:
"render" vous donne un contexte complet de vue/contrôleur/modèle avec lequel travailler.
Un exemple sera une navigation supérieure qui comprend des pièces dynamiques. Le contenu sera conservé dans un TopNavController et inséré dans le modèle d'application à l'aide de "render"
"partial" insérera un modèle, mais ce modèle utilisera le contexte actuel au lieu du sien. Partial est également une partie plus récente du cadre, destinée à remplacer l'utilisation du modèle dans une certaine mesure.
Un exemple serait d'afficher une liste d'utilisateurs et d'avoir chaque utilisateur être un élément relativement compliqué dans la liste (avatar, nom, e-mail, etc.), vous pouvez simplement parcourir la liste et insérer le partiel en fonction du contexte de chaque utilisateur.
"modèle" insère simplement le modèle en utilisant le contexte actuel. Je crois que ce n'est pas un bon style, cependant, pour utiliser le modèle pour rendre des pièces à l'intérieur d'un modèle, vous devriez plutôt utiliser "partiel", bien que le modèle fonctionne de la même manière dans la plupart des cas.
Ce graphique donné sur le site Web d'ember donne une bonne comparaison entre le rendu, le partiel et la vue.
Voici une image d'extrait de la comparaison donnée dans le site Web:
En termes d'utilisation de la mémoire côté client, laquelle est meilleure, restituée ou partielle. En supposant que partiel serait mieux que peu d'objets moindres