ready
オブジェクト内の関数を呼び出すことによってビューを初期化する単純なjQueryイベントがありsetupView
ます。
私が持っている質問は、以下に示すように関数setSomethingImportant
から関数を呼び出す適切な方法は何ですか?init
呼び出しは関数とは異なる実行コンテキストから行われるため、init
機能this.setSomethingImportant()
しません。ただし、を使用すると機能しますsetupView.setSomethingImportant()
。これに関する問題は、変数名(setupView
)が変更された場合、コードの本体も変更する必要があることです。
(function() {
$(document).ready(function() {
setupView.init();
});
var setupView = {
currentState : "CT",
init : function () {
$("#externalProtocol").change( function () {
console.log("Changed =" + $(this).val());
setSomethingImportant();
// Question ? how to call a method in the setupView object
});
},
setSomethingImportant : function () {
this.currentState="TC";
console.log("Something has changed :" + this.currentState );
}
}
}(jQuery);