Voici le exemple p>
Je suivais cet excellent tutoriel de Thomas Davis: Qu'est-ce qu'un modèle? D'une manière ou d'une autre, la liaison «changement» ne tire pas. Qu'est-ce que je fais mal ici? P>
3 Réponses :
Backbone vérifie si la valeur définie est identique à la valeur précédente (regardez https: //github.com/documentcloud/backbone/blob/master/backbone.js#l210 et activé).
Dans votre exemple, la matrice est toujours la même mais la valeur à l'intérieur changeait. C'est délicat à résoudre. Créer une nouvelle copie du tableau semble être au-dessus de la tête. Je suggérerais d'appeler l'événement de changement directement dans votre fonction d'adoption en tant que solution: p>
adopt: function(newChildsName){ var children_array = this.get('children'); children_array.push(newChildsName); this.set({children:children_array}); this.trigger("change:children"); }
Voici une solution bit gadouge:
Au lieu d'utiliser des enfants comme une matrice simple, nous pouvons l'utiliser comme collection et écouter l'Ajout, supprimer des événements de la collection. P>