骨干收集获取单个模型

Backbone collection fetching single models

本文关键字:单个 模型 获取      更新时间:2023-09-26

我是Backbone的新手,正试图弄清楚如何用ajax request填充Collection

实际上,我有一个服务器方法,return对我来说是一个单个model,我想用我从serverrequest得到的所有model构建一个collection(在作为Arrayids上迭代)

更简单地说:

app.myCollection = Backbone.Collection.extend({
     initialize: function(ids){ //ids is an array of ID
        var that = this;
        _.each(ids, function(el, i, list){
           that.add(new app.myModel(el))
       } 
     ,urlRoot: 'my-path'
});

app.myModel = Backbone.Model.extend({
       initialize: function(id){
              this.fetch({data: id});
       }
       ,urlRoot: 'my-path'
});

这不起作用。我该怎么做?

这样做:

app.myCollection = Backbone.Collection.extend({
     initialize: function(ids){ //ids is an array of ID
        var that = this;
        _.each(ids, function(el, i, list){
             that.add(new app.myModel({ id: el }));
        } 
     ,urlRoot: 'my-path'
});

app.myModel = Backbone.Model.extend({
       initialize: function(options){
              this.fetch({data: this.id});
              this.on('sync', this.onSync, this);
       }
       ,urlRoot: 'my-path',
       onSync: function (model) { if (this.collection) this.collection.trigger('add', model); }
});

希望我帮过忙。