Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 如何在主干关系中创建一个默认的空的has-one关系?_Backbone.js_Backbone Relational - Fatal编程技术网

Backbone.js 如何在主干关系中创建一个默认的空的has-one关系?

Backbone.js 如何在主干关系中创建一个默认的空的has-one关系?,backbone.js,backbone-relational,Backbone.js,Backbone Relational,我在我的项目中使用了主干关系,我有一个模型,在HasOne关系中有另一个嵌套模型 我需要客户端中的嵌套模型,即使它在我的服务器中不存在。 如果我的服务器发送嵌套的模式数据,一切正常。 如果没有,我希望HasOne关系在默认情况下创建一个空的嵌套模型 我发现实现这一目标的唯一方法是: parse: function(parentModelData) { if (!this.has('nestedModel') && !parentModelData.nestedModel) {

我在我的项目中使用了主干关系,我有一个模型,在HasOne关系中有另一个嵌套模型

我需要客户端中的嵌套模型,即使它在我的服务器中不存在。 如果我的服务器发送嵌套的模式数据,一切正常。 如果没有,我希望HasOne关系在默认情况下创建一个空的嵌套模型

我发现实现这一目标的唯一方法是:

parse: function(parentModelData) {
  if (!this.has('nestedModel') && !parentModelData.nestedModel) {
    parentModelData.nestedModel = {};
  }
  return parentModelData;
}
这显然很混乱。还有其他更简单的方法吗?
谢谢。

不太清楚,我不知道这种奇怪的语法是什么,但在普通JavaScript中,你会使用data.nested_model=data.nested_model | |{}尽管我不确定主干在遇到空对象时是否会创建模型,但奇怪的语法是CoffeeScript。如果为父模型提供空哈希,BackbonRelational将创建空模型。您的示例缺少@get,如果我不想覆盖任何现有的嵌套模型,这是必需的。我将代码编辑为Javascript,以便更多人可以提供帮助: