2011-01-21 9 views
0

어떻게 함수에서 intialsed 변수에 액세스 할 수 있지만 main.name 날 null 값을주는, 값이 함수 또는 기본, 있지만 피드에 initliased 알고! 이 자바 스크립트에서 함수의 변수에 액세스 하시겠습니까?

이 바보 같은 질문처럼 보이지만 자바 스크립트에 초보자 메신저 경우 죄송

, 그래서 그냥 삭제 말해, 내 예입니다. 당신이 gloab 또는 뭔가로 바꿀 수 있는지 궁금 해서요.

+1

그것은 당신이 단순히 당신이 그것을 초기화하기 전에 ... – deceze

+0

을 변수에 액세스하려고하는 날 것으로 보인다 내가 intilaisation 후 그것을 넣어려고했지만, 여전히 NULL을 얻을! : (( – pingpong

+1

) 자바 스크립트에 오신 것을 환영합니다. 이와 같은 많은 질문에 대한 준비를하십시오. 일반적인 조언은 처음 몇 줄의 코드를 사용하여 문제를 재현 해보십시오. – Matt

답변

2

아직 초기화되지 않은 변수를 가져 오려고합니다. main.name은 이벤트의 콜백에 할당하므로 이벤트가 발생한 후에 만 ​​초기화됩니다. 나는 you'r 응용 프로그램의 논리를 모르겠어요,하지만 난 당신이 콜백 내에서 창을 초기화 할 수 것 같아요 :

Ti.App.addEventListener('grantEntrance',function(event) { 
    main.title ='Welcome'+event.username; 
    main.url = 'main_windows/main.js'; 
    main.name = event.username; 
    main.email = event.email; 
    main.barImage='bg_content.gif'; 

    var feed = Titanium.UI.createWindow({ 
     title:'feeds', 
     url:'main_windows/feeds.js', 
     barImage:'bg_content.gif', 
     username:main.name 
    }); 
}); 

또는 콜백 내부의 창 바로 설정 이름 속성 :

var feed = Titanium.UI.createWindow({ 
    title:'feeds', 
    url:'main_windows/feeds.js', 
    barImage:'bg_content.gif', 
}); 

Ti.App.addEventListener('grantEntrance',function(event) { 
    main.title ='Welcome'+event.username; 
    main.url = 'main_windows/main.js'; 
    main.name = event.username; 
    main.email = event.email; 
    main.barImage='bg_content.gif'; 

    feed.username = main.name 
}); 

또한 개인적인 경험을 통해 : 티타늄은 js의 "힘을 채우기위한 최선의 방법"이 아닙니다. 일부 메서드는 비동기 적으로 실행되며 이상한 문제를 일으 킵니다. 당신이 초보자이야 그래서 경우에 .. 엉덩이에 통증이있을 수

어쨌든 행운을 빕니다 :)

+0

ur a superstar! !! !! – pingpong

관련 문제