我试图调用loadPhotos,但是我得到一个错误,提示loadPhotos没有被定义。我试过this.loadPhotos();
,但后来发现一个错误,说对象没有这样的方法。我在这方面很新颖,仍然试图弄清楚什么可以访问什么,以及如果有人能指出我正确的方向,我将不胜感激。我究竟做错了什么?
这里是我的代码:
Album = Backbone.Collection.extend ({
model: Photo,
url: "/api/",
albumName: "",
initialize: function(models, options){
options || (options = {});
if (options.title) {
this.albumName = options.title;
};
$.ajax({
type: "GET",
url: this.url,
data: "album=" + this.albumName,
dataType: "json",
success: function(data){
console.log(data);
loadPhotos(data); // <<< the problem is right here
},
error: function(jqXHR, textStatus, errorThrown){
console.log("FETCH FAILED: " + errorThrown);
}
});
},
loadPhotos: function(filenames){
for (var i = 0; i < filenames.length; i++){
var photo = new Photo({fileurl: filenames[i] });
var photoView = new PhotoView({ model: photo});
this.add(photo);
}
}
});
很好解释,谢谢! – Dmitry 2013-05-04 17:37:33
实际上,设置'$ .ajax'上下文的_easiest_方法就是设置'context'选项...... – Alnitak 2013-05-04 20:29:24