죄송합니다. 더 이상 제목과 관련이 없습니다.자바 스크립트 범위 문제, 익명 함수 내
URL에 사용 된 쿼리 문자열에 따라 사용자에게 다른 콘텐츠를 표시하는 웹 사이트 (개인)를 만들고 있습니다.
page=home.html
표시 할 home.html
각 값이 서로 다른 데이터를 포함, 일부 의사 코드와 자바 스크립트 객체 내부에 랩되는 웹 사이트 :
(function(){
var wrapper = {
init: function(){
//Runs on document ready
this.foo();
this.nav.render();
},
foo: function(){
//Some functionality goes here for the website, e.g. Display something from an API
},
nav: {
//Functionality to handle the navigation, has different properties
config: {
//Contains the config for nav, e.g. page names + locations
dir: '/directory/to/content/',
pages: {
page_name: wrapper.nav.config.dir + 'page_value'
}
},
render: function(){
//some code
},
routes: function(){
//some code}
}
}
};
$(function(){
wrapper.init();
});
})();
내 문제는 내가 각각에 dir
값을 씁니다 시도하고 있다는 점이다가 page
의 값 (페이지가 정의 된 객체 내부)은 directory/to/content/page_value
의 (이 의사 코드의 경우) 출력을 얻기를 기대하지만, 액세스하려고하면 dir
은 정의되지 않습니다. 다음과 같이 원하는 것을 성취하십시오.
- wrapper.nav.config.dir + 'page_value'
나는 마지막 30 분 내가 잘못하고, 심지어 생각하고있는 무슨을 알아 내려고 주위에 놀았 던 하드 코딩 각 페이지의 URL
내 로컬 개발 서버와 웹 호스트가 다른 디렉토리 구조를 갖고 있기 때문에 개발 + 게시 할 때마다 URL을 다시 쓰고 싶지 않습니다. 왜 모든 것이 객체 안에 싸여 있는지에 관해서는, 나는 이렇게 유지하는 것이 더 쉬울 것이라고 생각했다.
답변이 간단하고 아마추어 실수/이해 부족 일 수 있기를 바랍니다.
? 위의 예에서는 그렇지 않습니다. – jfriend00
성공을 거두지 않고 dir 속성에 액세스하려고 시도 했었습니다. – Daniel
질문을 편집하여 사용하려고 시도했습니다. – Daniel