Backbone.js 主干集合获取subtitute$.ajax
我正在努力理解主干代码。我读了这个 然后我计划改变这个 使用集合获取 与此系列 var BlogCollection=Backbone.Collection.extend({ 型号:博客, url:'data/blog.json', 解析:函数(响应){ 返回响应; } 当我从集合中读取响应时,它给出的值与使用jQueryAjax相同。 但当我使用fetch-in控制器时,为什么我必须访问data.models[0].attributes);才能获得相同的数据返回 这是我的json {“第页”:“1”,“总计”:“5”,“记录”:“25”,“行”: [ { “标题”:“经典流行音乐”, “作者”:“迈克尔·杰克逊收藏”, “image”:“images/1.jpg”, “标记”:[“xyz”、“abc”、“def”], “鼻涕虫”:“经典流行音乐”, “url”:”http://www.localhost/news", “简介”:“你好测试”, “内容”:“你好测试,alfjldsajfldjsflja dljfldasjfa jfljdasfl jfldsjf jljdafl jl” }, { “标题”:“现代流行音乐/R&B”, “作者”:“布鲁诺·马尔斯和其他人”, “image”:“images/54.jpg”, “标记”:[“测试”、“测试2”、“测试3”], “鼻涕虫”:“现代流行rb”, “url”:”http://www.localhost/news", “简介”:“你好,测试2”, “内容”:“你好测试,alfjldsajfldjsflja dljfldasjfa jfljdasfl jfldsjf jljdafl jl” } ]}Backbone.js 主干集合获取subtitute$.ajax,backbone.js,Backbone.js,我正在努力理解主干代码。我读了这个 然后我计划改变这个 使用集合获取 与此系列 var BlogCollection=Backbone.Collection.extend({ 型号:博客, url:'data/blog.json', 解析:函数(响应){ 返回响应; } 当我从集合中读取响应时,它给出的值与使用jQueryAjax相同。 但当我使用fetch-in控制器时,为什么我必须访问data.models[0].attributes);才能获得相同的数据返回 这是我的json {“第页”
如何使fetch正常工作???在扩展主干集合时,应该定义一个
parse
函数,该函数返回表示集合中包含的模型的行数组
在您的情况下,它必须是一个数据数组,数组中的每个对象表示您的博客
模型,因此您需要返回行
属性:
var BlogCollection = Backbone.Collection.extend({
model: Blog,
url : 'data/blog.json',
parse: function(response){
return response.rows;
}
});
然后,如果您的模型具有parse
函数,它将获取数组中包含的每个对象的数据,以防在设置模型属性之前需要对数据进行任何处理:
var Blog = Backbone.Model.extend({
//data will contain one of the items returned from the collection's 'parse' function.
parse: function(data){
return data;
}
});
这将确保主干集合将正确创建并使用数据填充集合中表示的模型
您可能也想公开集合上的其他元数据(page,total,records
),可能还需要一个属性,该属性也是page/total/records的主干.Model
var BlogCollection = Backbone.Collection.extend({
model: Blog,
url : 'data/blog.json',
parse: function(response){
return response.rows;
}
});
var Blog = Backbone.Model.extend({
//data will contain one of the items returned from the collection's 'parse' function.
parse: function(data){
return data;
}
});