骨干复杂数据建模如何阅读

时间:2013-07-01 16:15:35

标签: javascript json jquery-ui jquery-mobile backbone.js

大家好我是骨干和JavaScript的新手。 我的data.json文件如下所示:

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

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

我正在使用jquery mobile填充两个不同的Listview。


我已经为位置和项目分别创建了Backbone模型

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 个答案:

答案 0 :(得分: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;
    }
});

或者,您可以在初始化函数中为“reset”添加一个监听器,但是如果您要取回数据,我只需要使用解析。