大家好,我是主干网和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"
});
此外,一旦读取数据,我如何填充列表视图?感谢
您可以向Store添加解析方法(http://backbonejs.org/#Model-解析):
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;
}
});
或者,您可以在initialize函数中添加一个"reset"的侦听器,但如果您无论如何都要获取数据,我只会使用parse。