Je suis convaincu qu'il s'agit d'une solution très simple, mais aucun des messages que j'ai trouvés jusqu'à présent ne semble avoir abordé directement cette question: comment faire une boucle pour obtenir une collection ?Obtention de chaque modèle à partir d'une collection Backbone
La première méthode que j'essaie d'utiliser est chaque méthode de soulignement. 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);
}
En ce moment, cela vient comme non définie et this.model erreurs:
Uncaught TypeError: Cannot read property 'model' of undefined
I connais la réponse est simple, mais ça me rend fou! Je suis nouveau pour souligner. Quelqu'un peut-il aider? Je suis également ouvert à d'autres méthodes non-underscore si elles sont plus rapides/meilleures.
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 soit.
C'est génial! Merci d'avoir posté les deux options. Votre solution est plus élégante que la mienne car elle n'a pas besoin d'être préalablement définie. Merci encore! – streetlight
@streetlight cela dépend. Déclarer la fonction ailleurs peut vous donner un code de structure plus. C'était juste la manière paresseuse de montrer la solution;) – Loamhoof
@Loamhoof. est-ce qu'il souligne chaque méthode? si oui, alors où est le signe «_». s'il vous plaît, faites-moi savoir .merci – Mahi