backbone.js - collections et vues
Je comprends comment obtenir une collection, ou un modèle individuel. Et je peux habituellement obtenir un modèle de données à afficher. Mais je ne suis pas clair du tout comment faire une collecte et d'obtenir la liste des modèles dans cette collection pour afficher.
Suis-je censé effectuer une itération sur la collecte et le rendu de chaque modèle individuellement?
Est censé être une partie de la collection de la fonction rendu?
Ou la collection de disposer de son propre point de vue et de toute façon je remplir la totalité de la collecte de données en vue?
Juste en parlant de façon générale, quelle est la méthode normale pour afficher une liste de modèles?
source d'informationauteur Matthew | 2011-04-13
Vous devez vous connecter pour publier un commentaire.
De mon expérience, c'est le meilleur à garder dans votre collection d'afficher les références de chaque modèle.
Cet extrait du projet que je suis en train de travailler sur devrait vous aider à obtenir l'idée de mieux:
Prenant cette approche permet de mettre à jour les vues de manière plus efficace (re-rendu d'une ligne dans la table, au lieu de l'ensemble de la table).
Je pense qu'il y a deux façons de le faire.
Pour la deuxième stratégie, j'ai fait un code qui fonctionne quelque chose comme ceci:
Le modèle de code devrait ressembler à quelque chose comme ceci:
Noter que j'utilise le _ fonctions (utile!) dans le modèle. J'utilise aussi le "obj" élément, qui est capturé dans la fonction de modèle. C'est probablement triche un peu, en passant dans {troupeau: [...]} pourrait être plus agréable, et moins dépendante de la mise en œuvre.
Je pense que quand il descend à lui, la réponse est "Il y a deux façons de le faire, et ni l'un, c'est la grande."
L'idée de base est que le rendu de l'affichage est basé sur l'événement.
Vues joindre à Modèle de données d'événements de changement de sorte que lorsque toutes les données dans le modèle, la vue change et se met à jour pour vous.
Ce que vous êtes censé faire avec des collections est de manipuler un ensemble de modèles en même temps.
Je vous recommande de lire les annoté exemple.
J'ai aussi trouvé cette confusion partie de l'épine Dorsale du cadre.
L'exemple Todos code est un exemple ici. Il utilise 4 classes:
Ce n'est pas vraiment le meilleur du monde exemple pour le premier examen. En particulier, il ne doit pas utiliser le Routeur de classe à la route des Url, ni ne carte les classes du modèle de REPOS ressources.
Mais il semble comme la "meilleure pratique" peut être de conserver une vue pour chaque membre de la collecte et de manipuler le DOM éléments créés par ces points de vue directement.