我有一个简单的 jQueryready
事件,它通过调用对象中的 a 函数来初始化视图setupView
。
我的问题是,setSomethingImportant
从init
函数调用函数的适当方法是什么,如下所示?
init
由于调用是从与函数不同的执行上下文进行的,this.setSomethingImportant()
因此不起作用。但是,如果我使用setupView.setSomethingImportant()
. 我遇到的问题是,如果 var name ( 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);