【问题标题】:Why specifying Model in Backbone Collection为什么在主干集合中指定模型
【发布时间】:2011-06-07 12:50:48
【问题描述】:

在 Backbone 集合中指定模型的目的是什么?该集合似乎需要自己的网址。为什么这样做:

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

代替:

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

使用这样的模型:

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

有没有办法对url 声明进行分组?

【问题讨论】:

  • 您知道Model 是工厂吧?要制作模型,请致电new Model
  • @Raynos Collection 是工厂;它的create 方法使用 POST 作为工厂。 Model 对我来说似乎不是工厂,new Model 不会在服务器端创建任何表示。

标签: collections model backbone.js


【解决方案1】:

在 Backbone 集合中指定模型的目的是什么

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

基本上你说集合中的每个模型都是Model 的一个实例。这样做也很有用

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

它会为你调用new Model({prop1: "foo", ... })并将其添加到集合中。

.model

【讨论】:

  • 这并没有说明为什么——除了默认属性——将Model指定为Collection,没有它也能完美运行。
  • @yvesamsellem 是的,它可以在没有模型的情况下工作,但是您没有额外的糖/快捷方式。你不需要,它只是让生活更轻松,而且它是自我记录的。
猜你喜欢
  • 2015-03-13
  • 2015-05-30
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 2013-08-01
相关资源
最近更新 更多