我有一个带有主干集合作为属性的模型。当我创建一个新模型并将其与其集合一起保存到数据库时,一切正常。
但是,当我创建新模型时,其集合包含以前的模型值。所有其他属性均为预期的空白。
我已经定义了我的模型默认值:
defaults: {
InsertionOrderNumber: null,
ClientID: null,
CampaignName: null,
FromDate: null,
ToDate: null,
TotalBudget: null,
ManagementFee: null,
AgencyCommission: null,
SourceDocuments: new Uploads() //this is the collection
}
出于某种原因,似乎该集合的相同实例正用于该类型的所有新模型。
知道为什么会这样吗?
提前致谢=)
答案 0 :(得分:1)
原样,new Uploads()
在您定义模型时进行评估,而不是在创建新实例时进行评估。使用函数在默认值中创建新集合:
var M = Backbone.Model.extend({
defaults: function() {
return {
InsertionOrderNumber: null,
ClientID: null,
CampaignName: null,
FromDate: null,
ToDate: null,
TotalBudget: null,
ManagementFee: null,
AgencyCommission: null,
SourceDocuments: new Uploads()
};
}
});