2013-08-04 2 views
1

J'ai cette collection avec une méthode over-riden parse. Je veux qu'une méthode dans ma vue soit appelée quand la collection est finie avec parsebackbonejs incendie événement après l'analyse est terminée

Cette collection appellera sync et donc parse seulement une fois.

J'ai essayé this.collection.on("reset", this.more, this); mais cela ne fonctionne pas.

more: function() { 
     var users = this.collection.slice(this.index, this.index + this.load_once), that = this; 
     this.index = this.index + this.load_once; 
     _.each(users, function(user){ 
      that.addOne(user); 
     }); 
    }, 
addOne: function(user){ 
    var view = new UserView({model: user}); 
    this.$("#user_list").append(view.render().el); 
} 
+0

Pouvez-vous nous montrer le contenu de 'this.more'? –

+0

Question mise à jour. – kapeels

+0

Dans '' initialize'' de ma vue, où j'ai appelé 'this.collection.fetch()', j'ai passé une fonction pour l'option 'success'. Cela fonctionne pour moi. – kapeels

Répondre

1

La méthode de réinitialisation est déclenchée lorsque l'option {reset: true} est passé à la chercher. Vous pouvez écouter le add et sync qui déclenchera cette méthode. Utilisez également this.listenTo pour lier les événements de manière plus propre.

initialize: function() { 
    ... some other code 
    this.listenTo(this.collection, "add sync", this.more); 
    this.collection.fetch(); 
} 
Questions connexes