我有一个使用 Coffeescript 的集合,如下所示。
class ListCollection extends Backbone.Collection model: List localStorage: new Backbone.LocalStorage("TodoList")
我希望能够动态更改 ListCollection 实例的“模型”或“localStorage”属性。这可能吗?
我有一个使用 Coffeescript 的集合,如下所示。
class ListCollection extends Backbone.Collection model: List localStorage: new Backbone.LocalStorage("TodoList")
我希望能够动态更改 ListCollection 实例的“模型”或“localStorage”属性。这可能吗?
如果您希望创建具有不同类型模型的集合(而不是具有特定模型的不同集合)。也许这更适合你:
class ListCollection extends Backbone.Collection
model: (attrs, options) ->
switch attrs.type
when "car"
new Car(attrs, options)
else
new Bus(attrs, options)
localStorage:
new Backbone.LocalStorage("TodoList")
如果将对象添加到集合中,它将查找它的类型属性。然后它将通过一个开关来确定它的类型。这样,单个集合可以有不同类型的模型(以及不同的解析器、验证、url 等)
这将相当简单:
class newClass extends ListCollection
model: somethingElse
我唯一不确定的是咖啡脚本类。但是var NewModel = SomeModel.extend()
通过传递选项对象来使用将覆盖在父级上定义的函数/属性(基本上它会更改/扩展 的原型NewModel
)。
在此处查看文档:http: //backbonejs.org/#Model-extend(这适用于每个 Backbone 对象:模型、视图、集合等)