2

我有一个骨干集合,其中集合由带有 id 参数(不是 RESTful)的 url 获取

url: '/api/categories/?level=2&id=',

所以 id 可能是

&id=2

或者

&id=45

我该怎么做呢?我一直在阅读不同的帖子,有些人说要覆盖 Backbone Sync,而另一些人说只是进行获取但修改数据参数......

4

1 回答 1

6

构造时Collection,传递idas 参数(默认情况下,Collectiondo 时没有 id 属性Model)。

然后,覆盖 的url属性Collection并传递一个函数:

MyCollection = Backbone.Collection.extend({

    initialize : function(models, options) {
        this.id = options.id;
    },

    model : // Your Model class

    url: function() {
        return '/api/categories/?id=' + this.id;
    }

});

// [] is the initial, empty set of models
var coll = new MyCollection([], { id: 45 });

coll.fetch(); // the correct url will be called
于 2013-07-29T19:58:50.597 回答