0

whereコレクションからいくつかの特定のモデルを取得する方法を使用しています。バックボーン サイトの例と同様:

var friends = new Backbone.Collection([
  {name: "Athos",      job: "Musketeer"},
  {name: "Porthos",    job: "Musketeer"},
  {name: "Aramis",     job: "Guard"},
  {name: "d'Artagnan", job: "Guard"},
]);

var musketeers = friends.where({job: "Musketeer"});

Musketeer ジョブを持つ 2 つのモデルが返されます。

これら 2 つの Musketeer モデルを新しいコレクションに入れ、collectionView をレンダリングするにはどうすればよいですか?

4

1 に答える 1

0

を使用して新しいコレクションに渡すことができますcollection.reset。次に、それをビューに渡してレンダリングします。

var MyView = Backbone.View.extend({
    el: "#container",

    template: _.template($("#templ").html()),

    render: function() {
        var self = this;
        _.each(this.collection.models, function(model) {
            self.$el.append(self.template(model.toJSON()));
        });
    }        
});

var friends = new Backbone.Collection([
  {name: "Athos",      job: "Musketeer"},
  {name: "Porthos",    job: "Musketeer"},
  {name: "Aramis",     job: "Guard"},
  {name: "d'Artagnan", job: "Guard"},
]);

var musketeers = friends.where({job: "Musketeer"});

var newCollection = new Backbone.Collection();
newCollection.reset(musketeers);

var view = new MyView({ collection: newCollection });
view.render();

http://jsfiddle.net/k3JEz/1/

于 2012-11-27T03:22:03.330 に答える