0

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

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

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

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


我为位置和项目分别创建了主干模型

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"
});

另外,读取数据后如何填充列表视图?谢谢

4

1 回答 1

1

您可以向 Store ( http://backbonejs.org/#Model-parse ) 添加 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;
    }
});

或者,您可以在初始化函数中为“重置”添加一个侦听器,但如果您要获取数据,我只会使用 parse。

于 2013-07-01T16:30:34.237 回答