ember.js + guidon: rendre vs sortie vs partielle vs vs contrôle de la vue
Il y a aussi quelques explications de chacun autour, mais je ne suis pas 100% clair sur les différences & utilisation. Quelqu'un pourrait-il me donner un side-by-side de comparaison?
{{outlet}}
{{outlet NAME}}
{{render}}
{{partial}}
{{view}}
{{control}}
Remarque: ce post a été très utile partielle vs rendre
- Ce serait un grand wiki de la communauté. Il y a déjà un pour cette rubrique?
InformationsquelleAutor doub1ejack | 2013-11-14
Vous devez vous connecter pour publier un commentaire.
Ils sont tous modèle aides avec les caractéristiques principales suivantes comme décrit dans emberjs guides.
(http://emberjs.com/guides/templates/rendering-with-helpers/)
1.
{{outlet}}
- Effectue le rendu d'un modèle basé sur la voie déterminée par le routeur. Fondée sur la route de la manette correspondante et la vue sont utilisés. Ceci est utile lors du rendu de contenus basés sur la route, ce qui est le cas le plus fréquent.2.
{{outlet NAME}}
- Offre la possibilité de spécifier dans la route où exactement le contenu. Utile lorsque vous essayez de rendre les contenus à partir de plusieurs modèles pour un itinéraire.3.
{{render}}
- Semblable àoutlet
mais le contrôleur/vue/modèle peut être spécifié directement ou indirectement de l'aide. Utile lorsque nécessaire pour rendre le contenu de plus d'un modèle avec la possibilité de remplacer le cadre (vue/contrôleur) et le modèle. Si modèle est spécifié, il utilise une instance unique de la manette correspondante, sinon il utilisera l'instance du singleton. Utile lorsque nécessaire pour annuler l'itinéraire du contexte et de modèle, tandis que le rendu plusieurs modèle de contenu.4.
{{control}}
- Fonctionne comme rendu, sauf qu'il utilise une nouvelle instance du contrôleur pour chaque appel, au lieu de réutiliser le singleton contrôleur. Lors de l'utilisation derender
il n'est pas possible d'utiliser plusieurs de rendu pour le même trajet, sans préciser le modèle, pour ce cas, lacontrol
doit être utilisé. Utile à l'appui de nouvelles instances d'un contrôleur pour chaque modèle de contenu affiché.Mise à jour: Contrôle helper a été supprimé https://github.com/emberjs/ember.js/commit/86eecd7ef7cdc7d2ea6f77b3a726b293292ec55d .
5.
{{partial}}
- Prend le modèle à être rendu comme un argument, et rend ce modèle en place. Il n'a pas de changement de contexte ou de portée. Il n'a qu'à insérer le modèle donné en place avec le champ d'application actuel. Donc pas de vue de classe est spécifié pour le partiel. Utile lorsqu'il est nécessaire pour briser un modèle dans les modules du modèle, pour un meilleur contrôle ou la réutilisation, sans créer de classes de vue.6.
{{view}}
- Cela fonctionne comme partielle, mais une classe d'affichage est fourni. Le point de vue de la classe spécifie le modèle à utiliser. Utile lors de la rupture d'un modèle en modules, mais exigeant une vue de classe par exemple pour la gestion d'événements.7.
{{#view}}
- Il y a aussi la forme du bloc de l'aide de vue, qui permet de spécifier le modèle de la vue enfant en ligne avec la vue parent modèle. (http://emberjs.com/guides/views/inserting-views-in-templates/){{outlet}}
ceci définit où imbriqués les ressources/les itinéraires seront rendus à l'intérieur d'un itinéraire modèle{{outlet NAME}}
cela crée un nom de sortie où vous pouvez par programmation de rendre quelque chose en{{render}}
prend deux paramètres:Le premier paramètre décrit le contexte de l'installation
Le second paramètre facultatif est un modèle, qui sera transmis au contrôleur si
{{render}}
n'plusieurs choses:Quand aucun modèle n'est fournie, elle obtient l'instance du singleton de la manette correspondante
Lorsqu'un modèle est fourni, il obtient une instance unique de la manette correspondante
Rend le modèle nommé aide de ce contrôleur
Définit le modèle de la manette correspondante
{{partial}}
prend le modèle à être rendu comme un argument, et rend ce modèle en place (à l'aide de l'étendue actuelle selon le contexte).{{view}}
Cette aide fonctionne de la même partielle helper, sauf qu'au lieu de fournir un modèle doit être rendue dans le modèle en cours, vous offrent une vue de classe. Les contrôles d'affichage de ce modèle est rendu.{{control}}
est obsolète fonctionne comme rendu, sauf qu'il utilise une nouvelle instance du contrôleur pour chaque appel, au lieu de réutiliser le singleton contrôleur.La plupart de ce que je viens juste copié et collé à partir de leur documentation: http://emberjs.com/guides/templates/rendering-with-helpers/
render
helper est obsolète dans la v2.x au lieu de cela, vous devez utiliser braise-ailleurs addon. https://emberjs.com/deprecations/v2.x/#toc_rendering-into-a-render-helper-that-resolves-to-an-outletember.view
est obsolète dans v1.x au lieu d'utiliser Composant. reportez-vous https://emberjs.com/deprecations/v1.x/#toc_ember-viewcontrol
helper est expérimentale, sa déjà suppriméJe dirais actuellement seulement
{{outlet}}
est encouragé reste tous sont soit obsolète/supprimé.Principales différences sont
{{view}}
rend la condition de vue de classe, qui devrait être disponible{{partial}}
rend le modèle disponible dans la Braise.MODÈLES. sa peut pas associés à la classe de la vue. L'avantage est le contexte du modèle de la demeure de la vue parent.{{outlet}}
Spécifier le routeur qu'ici, elle est censée rendre la condition de la vue ou de modèle ou comme par renderTemplate() crochet.{{outlet NAME}}
utile lorsque vous souhaitez rendre les deux points de vue/modèles à différentes positions. Vous pouvez nommer les points de vente et demander routeur à rendre.{{render}}
même que la prise à l'exception de forcer le routeur pour rendre de vue spécifique/template.Ember.TEMPLATES
Ember.TEMPLATES
à l'aide de Braise précompilateur