L'obtention de chaque modèle à partir d'une épine Dorsale de la Collection
Je suis convaincu que c'est très facile à corriger, mais aucun des postes que j'ai trouvé jusqu'à présent semblent avoir abordé directement cette question: comment faire une boucle sur une collection de chaque modèle?
La première méthode que je suis en train d'utiliser est le trait de soulignement de chaque méthode. Voici mon appel et la fonction:
collection_var.each(paintThings);
et voici ma fonction:
function paintThings() {
console.log(this);
console.log(this.model);
var thing_type = this.model.get("type"),
thing_other = this.model.get("otherAttribute");
console.log(this.model);
console.log(thing_type);
console.log(thing_other);
}
Droit maintenant, c'est comme indéfini, et ce.des erreurs de modèle:
Uncaught TypeError: Cannot read property 'model' of undefined
Je sais que la réponse est simple, mais ça me rend fou! Je suis nouveau sur le trait de soulignement. Quelqu'un peut-il vous aider? Je suis aussi ouvert à d'autres non-trait de soulignement méthodes si elles sont plus rapides/meilleur.
J'ai aussi essayé ceci:
for (var i = 0, l = collection_var.length; i < l; i++) {
console.log(collection_var[i]);
}
mais ce n'est pas me donner ce que je veux.
OriginalL'auteur streetlight | 2013-04-15
Vous devez vous connecter pour publier un commentaire.
Première méthode: utilisez la
models
propriété de votre collection:Deuxième méthode est la
each
méthode:ça dépend. Déclarer la fonction d'ailleurs peut vous donner plus de structure de code. C'était juste la manière paresseuse de montrer la solution 😉
est-il souligner chaque méthode ?? si oui, alors où est
_
signe . s'il vous plaît laissez-moi savoir . merciÀ peu près tous le trait de soulignement méthodes peuvent être utilisées directement comme les méthodes de collecte. Voir backbonejs.org/docs/backbone.html#section-147.
wow . je vous remercie beaucoup .
OriginalL'auteur Loamhoof
Itération sur tous les modèles d'une collection, par exemple. comme par backbone.js est
Dans votre cas, il devrait être quelque chose comme ceci
http://backbonejs.org/#Collection-Underscore-Methods
OriginalL'auteur Venkat Kotra
Je pense que vous devriez essayer
collection_var.models.each(paintThings)
. Cela devrait vous donner un accès direct à tous les modèles de la collection.OriginalL'auteur Codrin Eugeniu
Bon, l'erreur stupide! J'ai juste eu à passer un paramètre supplémentaire à la fonction de sorte que je peux toucher le modèle.
Comme ceci:
Je suis toujours passer en revue toutes les réponses et accepter la solution la plus élégante!
OriginalL'auteur streetlight
J'ai utilisé souligne carte.
OriginalL'auteur Gustav