모듈 패턴을 사용하여 개발 중이었고 왜 이것을 사용하여 모듈 범위에 액세스 할 수 없는지 궁금합니다. 어쩌면 내가 드러나는 모듈 패턴에 대한 이해가 잘못되었을 수도 있습니다. 여기 자바 스크립트 모듈 패턴 범위 this with
내가 사용하는 코드입니다 :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'에 참조 할입니까? 예를 들어 줄 수 있습니까? –
내가 원하는 것을 아약스 성공에 추가했습니다. _hasLoaded 변수에 액세스하여 true로 설정하고 싶습니다. – arlg
@ arlg : 그냥'_hasLoaded = true;'_privateMethod'를 사용하면 아약스 성공 핸들러는 모두 해당 변수에 대한 클로저입니다. 내 대답을 세부 정보로 업데이트했으며 유용한 링크가 될 수 있습니다. –