【发布时间】:2012-03-13 00:43:20
【问题描述】:
我正在尝试理解主干代码。我读了这个 http://addyosmani.com/blog/building-spas-jquerys-best-friends/
那我打算改一下
if (this._index === null){ $.ajax({ url: 'data/blog.json', dataType: 'json', data: {}, success: function(data) { ws._data = data; console.log(ws._data); ws._blogs = new BlogCollection(data.rows); console.log(ws._blogs); ws._index = new IndexView({model: ws._blogs}); Backbone.history.loadUrl(); } }); return this; } return this;
使用集合获取
if (this._index === null){ ws._data = new BlogCollection; ws._data.fetch({success: function(data){console.log(data.models[0].attributes);}}); //ws._blogs = new BlogCollection(ws._data.rows); //ws._index = new IndexView({model: ws._blogs}); Backbone.history.loadUrl(); }
这个系列
var BlogCollection = Backbone.Collection.extend({ 型号:博客, 网址:'数据/blog.json', 解析:函数(响应){ 返回响应; }
当我从集合中读取响应时,它给出的值与使用 jquery ajax 相同。 但是当我在控制器中使用 fetch 时,为什么我必须访问 data.models[0].attributes);得到相同的数据返回。
这是我的 json
{ "page":"1", "total": "5", "records": "25", "rows": [ { "title": "经典流行音乐", “作者”:“迈克尔杰克逊收藏”, “图像”:“图像/1.jpg”, “标签”:[“xyz”,“abc”,“def”], “蛞蝓”:“经典流行”, "url": "http://www.localhost/news", “介绍”:“你好测试”, “内容”:“你好测试,alfjldsajfldjsflja dljfldasjfa jfljdasfl jfldsjf jljdafl jl” }, { "title": "现代流行/R&B", “作者”:“布鲁诺·马尔斯等人”, “图像”:“图像/54.jpg”, “标签”:[“测试”,“测试2”,“测试3”], “蛞蝓”:“现代流行音乐-rb”, "url": "http://www.localhost/news", “介绍”:“你好测试 2”, “内容”:“你好测试,alfjldsajfldjsflja dljfldasjfa jfljdasfl jfldsjf jljdafl jl” } ] }
如何使 fetch 正常工作??
【问题讨论】:
标签: backbone.js