我正在做一个简单的 AJAX 调用以将专辑的曲目附加到无序列表中。它将使用以下代码在第二次单击时附加曲目:
window.app.views.AlbumView = Backbone.View.extend({...
events: {
'click .queue-add' : 'selectAlbum',
'click .show-tracks' : 'showTracks',
'click .hide-tracks' : 'hideTracks',
},
showTracks: function(){
_this = this
this.model.getTracks().forEach(function(track){
_this.$el.find('.tracks').append("<li>"+track.attributes.title+"</li>");
});
},
显然,在第一次点击时没有及时获取曲目,所以我向 showTracks 方法添加了一个回调函数,如下所示:
showTracks: function(){
_this = this
this.model.getTracks({
success: function(tracks){
console.log(tracks);
tracks.forEach(function(track){
_this.$el.find('.tracks').append("<li>"+track.attributes.title+"</li>");
});
}
});
},
然而它不会进入块和console.log(tracks); 什么都不放在控制台上。
任何提示在这里都会非常棒,谢谢!!
app.models.Album = Backbone.Model.extend({
....
getTracks: function() {
this.tracks.fetch();
return this.tracks
},
....
});