使用主干集合和返回对象的rest路由
查看示例代码使用主干集合和返回对象的rest路由,rest,backbone.js,Rest,Backbone.js,查看示例代码 var accounts = new Backbone.Collection; accounts.url = '/accounts'; accounts.fetch(); 如果路由返回数组,则此操作有效 [{id:1, name:'bob'}, {id:2, name:'joe'}] 但是我使用的REST服务返回的对象如下 { items: [{id:1, name:'bob'}, {id:2, name:'joe'}], page: 1, href: '/aco
var accounts = new Backbone.Collection;
accounts.url = '/accounts';
accounts.fetch();
如果路由返回数组,则此操作有效
[{id:1, name:'bob'}, {id:2, name:'joe'}]
但是我使用的REST服务返回的对象如下
{
items: [{id:1, name:'bob'}, {id:2, name:'joe'}],
page: 1,
href: '/acounts'
}
如何告诉主干网。集合集合位于
项
中?解析函数似乎合适
从文件中:
“从API获取原始JSON数据时,集合将自动使用格式化为数组的数据填充自身,而模型将自动使用格式化为对象的数据填充自身:
[{“id”:1}]..用一个模型填充集合。
{“id”:1}…….用一个属性填充模型。
然而,遇到以不同的格式返回数据的API比主干所期望的API是相当常见的。例如,考虑从一个API中获取一个集合,该API返回元数据包中的实际数据数组:
{
"page": 1,
"limit": 10,
"total": 2,
"books": [
{"id": 1, "title": "Pride and Prejudice"},
{"id": 4, "title": "The Great Gatsby"}
]
}
在上面的示例数据中,集合应该使用“books”数组而不是根对象结构进行填充。使用返回(或转换)API数据所需部分的解析方法可以很容易地协调此差异:
var Books = Backbone.Collection.extend({
url: '/books',
parse: function(data) {
return data.books;
}
});
"
希望有帮助。是的,是的,是的。谢谢你。