Why specifying Model in Backbone Collection

2019-05-10 13:59发布

What is the aim of specifying a model in a Backbone collection? It seems that the collection need its own url. Why do this:

Backbone.Collection.extend({
  url: '/rest/product',
  model: Model
});

Instead of:

Backbone.Collection.extend({
  url: '/rest/product'
});

With a model like this:

var Model = Backbone.Model.extend({
  url: function() {
    return '/rest/product/' + this.id;
  }
});

Is there a way to group url declaration?

1条回答
够拽才男人
2楼-- · 2019-05-10 14:50

What is the aim of specifying a model in a Backbone collection

Backbone.Collection.extend({
  url: '/rest/product',
  model: Model
});

Basically your saying every model inside the collection is an instance of Model. It's also useful for doing this

col.add({
  prop1: "foo", 
  ...
});

And it will call new Model({prop1: "foo", ... }) for you and add it to the collection.

.model

查看更多
登录 后发表回答