这是我第一次涉足 Backbone,我只是想从 Dribbble 获取一个 Api 调用。
我正在尝试以最原生的方式来做这件事。然而,它在收集时似乎在做一些有趣的事情。
此时我对实际渲染并不太在意,我只想使用来自 Api 的每个响应的模型正确设置集合。
任何提示和方向都会很棒。我这样做完全错了吗?
最佳答案
不确定你的问题是什么。重写一些你的集合类来分离关注点,我得到了完全有效的模型。
Shot = Backbone.Model.extend({
initialize:function(opts) {
console.log("init shot : "+opts.id);
}
});
ShotsList = Backbone.Collection.extend({
model: Shot,
sync: function(method, model, options) {
var params = _.extend({
type: 'GET',
dataType: 'jsonp',
url: model.url(),
processData: false
}, options);
return $.ajax(params);
},
parse: function(response) {
return response.shots;
},
url: function() {
return "http://api.dribbble.com/players/" + encodeURIComponent(this.player) + "/shots?per_page=18";
}
});
s=new ShotsList();
s.bind("reset",function(collection) {
console.log(collection.models);
console.log(collection.pluck("image_teaser_url"));
});
s.player="jordan";
s.fetch();
关于backbone.js - Backbone Collection jsonp ajax 结果没有正确生成模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8430113/