私はこのクラス構造を持っています(多かれ少なかれ):
function DataLoader = function () {
this.setup = function () {
this.page = new Page();
this.page.setup();
};
Page = function () {
this.apiSelect = null;
this.onchangelistener = function () {
//---------------- look here ---------------
console.log(this.apiSelect); //Why is this.apiSelect undefined?
//---------------- look here ---------------
};
this.setup = function () {
this.apiSelect = document.getElementById("foo");
//This is also weird to me, I had to do it like this
//to get the functionality I wanted...
document.getElementById("foo").onchange = this.onchangelistener;
};
};
};
var dl = new DataLoader();
dl.setup();
私はJavascriptに非常に慣れていないため、まだ詳細についてはあまり知りませんが、これは私には非常に奇妙に思えます。onchange イベントが発生すると、onchangelistener が呼び出されます。this.apiSelect が定義されていないのはなぜですか? 私はすでにそれに値を追加したことを意味します。
私の現在のコードは次のようになります