バックボーン プロジェクトのマスター ビュー/コントローラーを作成しようとしていますが、ビュー内のビューに正しくアクセスできません。コードは次のとおりです。
var Controller = Backbone.View.extend({
initialize: function() {
this.characterView = new CharacterView({model: character});
this.encounterView = new EncounterView({collection: encounter});
this.characterView.$el.on('click', '.attack', this.charAttack);
},
charAttack: function() {
console.log(this.characterView);
},
render: function() {
this.encounterView.render();
this.characterView.render();
console.log(this.characterView.model.toJSON());
}
});
var controller = new Controller();
controller.render();
this.characterView
in charAttack は定義されていませんが、render 関数では正しいオブジェクトが使用されます。render が this.characterView にアクセスできる理由はわかりませんが、charAttack はアクセスできません。これを理解するための助けをいただければ幸いです。