【发布时间】:2014-01-08 10:47:06
【问题描述】:
有没有一种干净的方法可以在运行时更改 Backbone 集合的模型?换句话说,我有一个名为BaseCollection 的集合,默认情况下它的模型名为BaseModel。该模型充当其他模型的基类。说AModel、BModel等
现在,在运行时,基于特定参数的集合需要了解它是否必须调用 BaseModel 的 parse 方法(具有特定覆盖)或模型中使用的 parse 方法之一扩展自BaseModel。
通常,这可以在我每次实例化集合时简单地扩展集合。因此,例如,默认情况下定义如下。
var BaseCollection = Backbone.Collection.extend({
model : BaseModel,
// other stuff here
});
现在,如果我想要一个集合,其中 AModel 必须是 model
BaseCollection.extend( { model: AModel } );
这里是复杂的东西。如果集合不包含相同类型的模型怎么办。换句话说,如果BaseCollection 包含AModels、BModels 等怎么办?请注意,我需要为每个模型调用 parse 方法,因为它们略有不同。
【问题讨论】:
标签: javascript backbone.js collections