Lier une vue de collections backbone.js
Je suis semi-nouvelle dorsale. Je suis en train de lier une collection à la vue de sorte que lorsqu'un nouveau modèle est ajouté à une collection, la vue est mise à jour. Je pense que quand vous faites cela avec des modèles que vous pouvez lier le modèle d'événement de changement. Mais comment voulez-vous faire de même avec les collections?
App.Views.Hotels = Backbone.View.extend({
tagName: 'ul',
render: function() {
this.collection.each(this.addOne, this);
var floorplanView = new App.Views.Floorplans({collection:floorplanCollection});
$('.floorplans').html(floorplanView.render().el);
return this;
},
events: {'click': 'addfloorplan'},
addOne: function(hotel) {
var hotelView = new App.Views.Hotel ({model:hotel});
this.$el.append(hotelView.render().el);
},
addfloorplan: function() {
floorplanCollection.add({"name": "another floorplan"});
}
});
App.Collections.Floorplans = Backbone.Collection.extend({
model: App.Models.Floorplan,
initialize: function () {
this.bind( "add", function() {console.log("added");} );
}
});
L'événement click les incendies et les ajoute à la collection. Mais comment dois-je faire pour mettre à jour la vue?
OriginalL'auteur Jeff | 2013-03-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez écouter de la collection
add
événement, qui se déclenche lorsqu'un nouvel élément est ajouté à la collection. Dans les versions modernes de la colonne vertébrale, la méthodelistenTo
est préféré àbind
ouon
pour l'écoute d'événements. (Lire de la documentation pour plus d'info)Par exemple, dans votre cas, cela devrait faire l'affaire:
Espérons que cette aide!
OriginalL'auteur danii
Voici un tutorial que j'avais suivi il y a longtemps.
Une Intro à Backbone.js: Partie 3 – la Liaison d'une Collection à une Vue
Il vous aide à définir un DonutCollectionView qui, lors d'une collecte de beignets, de rendre un UpdatingDonutView pour chaque beignet.
OriginalL'auteur Venkat Kotra