Je rencontre un scénario/un bug que je ne peux pas expliquer, car j'ai une classe de vue Backbone avec une variable de tableau, mais la valeur de la variable persiste même après que je l'ai réinstanciée. La vue backbone a la configuration suivante :
var TestView = Backbone.View.extend({
a:"",
b:"",
items:[],
initialize:function(){
},
add:function(value){
this.items.push(value);
}
});
Voici comment j'instancie la classe :
this.formView = new TestView();
this.formView.add('halo');
this.formView.a = 'abc';
this.formView = new TestView();
this.formView.add('test');
this.formView.b = 'bcd';
console.log("a - " + this.formView.a);
console.log("b - " + this.formView.b);
console.log("items - ");
console.log(this.formView.items);
Résultat :
a -
b - bcd
items - ["halo", "test"]
Étonnamment, la variable de tableau 'items' persiste et montre à la fois ['halo','test']. Mais pas pour les variables normales.
Voici le lien JsFiddle link.
Il est possible de résoudre ce problème en effaçant le tableau dans la fonction d'initialisation.
initialize:function(){
this.items = [];
},
Mais j'aimerais savoir s'il s'agit d'un bug ou si j'ai mal compris quelque chose.