backbone.js を使用して作成されたシンプルな音楽アプリがあります。モデルの 1 つで以下のコードに問題があります。
MyApp.Models.Program = Backbone.Model.extend({
toPlaylist: function(options, callback) {
console.log("Converting program to playlist");
var self = this;
console.log(self.get('name'));
this.stationHasLicense(function (licensedStation) {
console.log(self.get('name')); // Uncaught TypeError: Cannot call method 'get' of undefined
// bunch of other logic
});
},
});
最初の self.get は正常に動作します。ただし、stationHasLicense コールバックの 2 番目の self.get はエラーをスローします。var self = this をアプリの他の領域全体で使用してスコープを維持していますが、このインスタンスが失敗する理由がわかりません。