Backbone.js 如何在主干关系中创建一个默认的空的has-one关系?
我在我的项目中使用了主干关系,我有一个模型,在HasOne关系中有另一个嵌套模型 我需要客户端中的嵌套模型,即使它在我的服务器中不存在。 如果我的服务器发送嵌套的模式数据,一切正常。 如果没有,我希望HasOne关系在默认情况下创建一个空的嵌套模型 我发现实现这一目标的唯一方法是:Backbone.js 如何在主干关系中创建一个默认的空的has-one关系?,backbone.js,backbone-relational,Backbone.js,Backbone Relational,我在我的项目中使用了主干关系,我有一个模型,在HasOne关系中有另一个嵌套模型 我需要客户端中的嵌套模型,即使它在我的服务器中不存在。 如果我的服务器发送嵌套的模式数据,一切正常。 如果没有,我希望HasOne关系在默认情况下创建一个空的嵌套模型 我发现实现这一目标的唯一方法是: parse: function(parentModelData) { if (!this.has('nestedModel') && !parentModelData.nestedModel) {
parse: function(parentModelData) {
if (!this.has('nestedModel') && !parentModelData.nestedModel) {
parentModelData.nestedModel = {};
}
return parentModelData;
}
这显然很混乱。还有其他更简单的方法吗?
谢谢。不太清楚,我不知道这种奇怪的语法是什么,但在普通JavaScript中,你会使用data.nested_model=data.nested_model | |{}尽管我不确定主干在遇到空对象时是否会创建模型,但奇怪的语法是CoffeeScript。如果为父模型提供空哈希,BackbonRelational将创建空模型。您的示例缺少@get,如果我不想覆盖任何现有的嵌套模型,这是必需的。我将代码编辑为Javascript,以便更多人可以提供帮助: