创建实例时更改架构?
Change schema when creating an instance?
假设我有以下模型作为我正在制作的表格的基础:
var SomeModel = Backbone.Model.extend({
schema: { --some default things--,
fieldToChange: {type='Select', options=['Default']},
fieldToChange2: {type='Select', options=['Default']}
}
});
现在我想用不同的创建选项创建一个新的 SomeModel:
var formModel = new SomeModel({
//Here's where I don't know how to set just the options of fieldToChange
schema.fieldToChange.options = [A, Computed, Array, Of, Options],
schema.fieldToChange2.options = [A, Computed, Array, Of, Options, 2]
});
var myForm = new Form({ el: $('#elID'), model: formModel};
我可以像这样在创建时更新模型的架构吗?使这项工作正常进行的方法是什么?
是的,您可以使 schema
属性 成为 returns 模式对象的函数。这样您就可以根据自己的喜好为每个模型自定义架构。
假设我有以下模型作为我正在制作的表格的基础:
var SomeModel = Backbone.Model.extend({
schema: { --some default things--,
fieldToChange: {type='Select', options=['Default']},
fieldToChange2: {type='Select', options=['Default']}
}
});
现在我想用不同的创建选项创建一个新的 SomeModel:
var formModel = new SomeModel({
//Here's where I don't know how to set just the options of fieldToChange
schema.fieldToChange.options = [A, Computed, Array, Of, Options],
schema.fieldToChange2.options = [A, Computed, Array, Of, Options, 2]
});
var myForm = new Form({ el: $('#elID'), model: formModel};
我可以像这样在创建时更新模型的架构吗?使这项工作正常进行的方法是什么?
是的,您可以使 schema
属性 成为 returns 模式对象的函数。这样您就可以根据自己的喜好为每个模型自定义架构。