2013-07-01 51 views
0

大家好,我是骨干和JavaScript的新手。 我data.json文件看起来像这样:骨干复杂的数据建模如何阅读

{ 
"locations": 
[ 
    {address:"2222", town:"Dallas"},{address:'3333', town:"Houston"},{}.... 
], 

"items": 
[ 
    {title:"shirt", price:20},{title:"shorts", price:10},{}.... 
] 
} 

我填充使用jQuery Mobile的两种不同的列表视图。


我创建骨干型号分别为这两个位置和项目

Item = Backbone.Model.extend({ 

    default: 
    { 
      title:"", 
     price:"" 
    } 
}); 

Address = Backbone.Model.extend({ 

    default: 
    { 
     address:"", 
     town:"" 
    } 
}); 

我也创建了地址和项目收集如下

Items = Backbone.Collection.extend({ 
    defaults: { 
      model: Item 
      } 
}); 

Addresses = Backbone.Collection.extend({ 
    defaults: { 
      model: Address 
      } 
}); 

现在如何我是否创建了我的商店模型?我有地址和物品收集。 我想是这样的:

Store = Backbone.Model.extend({ 
    addresses:[], 
    items:[], 
    url:"data.json" 
}); 

而且我怎么填充一旦数据列表视图读? 感谢

回答

1

您可以添加一个解析方法来存储(http://backbonejs.org/#Model-parse):

Store = Backbone.Model.extend({ 
    addresses: [], 
    items: [], 
    url: 'data.json' 
    parse: function(response) { 
     this.addresses = new Addresses(response.locations); 
     this.items = new Items(response.items); 
     return response; 
    } 
}); 

或者,你可以添加一个监听器在初始化功能“复位”,但如果你要取数据无论如何,我只是使用解析。

+0

优秀!!!让我来研究一下,如果我有问题,请告诉你。再次感谢.. – user2539625