我正在開發使用模塊模式,並想知道爲什麼我無法使用此模塊訪問模塊範圍。也許我對於揭示模塊模式的理解是錯誤的。使用此模塊的Javascript模塊模式範圍
這裏是我使用的代碼:
var BLOG = window.BLOG || {};
BLOG.Module = (function(){
var
_this = this,
_hasLoaded = false;
function init(){
console.log(_this); // Logs the Window object
}
function _privateMethod(){
$.ajax({
url: 'lazyload/lazyload.html',
success : function(data){
// _hasLoaded = true; // I want to access the variable in my module, How do I refer to it?
}
});
}
return {
init : init
};
})();
它是什麼,你想指與'this'?你能給個例子嗎? –
我已經添加了我想要做的,在ajax成功中,我想訪問_hasLoaded變量並將其設置爲true。 – arlg
@ arlg:您只需使用_hasLoaded = true;'_privateMethod',並且您的ajax成功處理程序都是通過該變量的閉包。我已經更新了我的答案,詳細內容以及可能是有用的鏈接。 –