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 backbonejs中的嵌套模型和集合_Backbone.js_Backbone Views_Backbone.js Collections_Backbone Model - Fatal编程技术网

Backbone.js backbonejs中的嵌套模型和集合

Backbone.js backbonejs中的嵌套模型和集合,backbone.js,backbone-views,backbone.js-collections,backbone-model,Backbone.js,Backbone Views,Backbone.js Collections,Backbone Model,我正在寻找一种解决方案,将嵌套的json加载到父模型中,最终呈现在屏幕上。 我有一个这种格式的嵌套json: { "name":"Hotel-A", "description":"5 star rating", "geographicAddress":{ "streetAddress":"343,Market st", "city":"San Jose", "state":"CA", "country"

我正在寻找一种解决方案,将嵌套的json加载到父模型中,最终呈现在屏幕上。 我有一个这种格式的嵌套json:

{
     "name":"Hotel-A",
     "description":"5 star rating",
     "geographicAddress":{
        "streetAddress":"343,Market st",
        "city":"San Jose",
        "state":"CA",
        "country":"USA",
        "postalCode":"34523"
     },
     "id":"338a947b-c488-46a9-b68f-640fcda38577"
  }
我有一个父模型,它进一步参考了geographicAddress和geographicPoint模型

这就是它的样子:

父模型:

defaults:{
    "id" : "",
    "name" : "",
    "description" : "",
    "geographicAddress": new geoAddress(),
}
父集合:

    addParentModel: function(parent) {
        var newParentModel = new this.model();
         newParentModel.set({
                id: parent.id,
                name: parent.name,
                description: parent.description,
                address:geoAddress.streetAddress,
                city:geoAddress.city,
                state:geoAddress.state,
                postalCode:geoAddress.postalCode

            });
地理地址模型:

defaults:{
            "streetAddress":"",
            "city":"",
            "state":"",
            "country":"",
            "postalCode":""
        }
有人能告诉我一种方法,用嵌套的json填充父模型并用html呈现它吗


谢谢。

我建议重写主干。Model的
parse
函数,以便按照您的需要构造数据。从主干文档中:

函数传递原始响应对象,并应返回 要在模型上设置的属性哈希。默认实现是 无操作,只需通过JSON响应。如果发生以下情况,请覆盖此 您需要使用预先存在的API或更好的命名空间 答复

我创建了一个更完整的演示,演示如何使用
parse
创建模型,然后在此处呈现集合:

var PlaceModel = Backbone.Model.extend({
  defaults: {
    "id": "",
    "name": "",
    "description": "",
    "geographicAddress": new AddressModel()
  },
  parse: function(data) {
    return {
      id: data.id,
      name: data.name,
      description: data.description,
      geographicAddress: new AddressModel(data.geographicAddress)
    };
  }
});