2014-05-13 3 views
1

이전 창으로 돌아가고 응용 프로그램을보다 효율적으로 유지할 수 있도록 새 창을 열고 부모 창을 닫으려고합니다.티타늄 Appcelerator 부모 창도 새 창을 닫습니다.

부모 창에서 close를 호출하면 새 창을 열기 전에 또는 불려도 관계없이 새 창이 닫힙니다. 새 창이 열리고 바로 닫힙니다. 부모 창 닫기 이벤트 리스너에 새 창을 열려고했지만 그게 도움이되지 않습니다.

코드 예 :

`app.js:` 
var loginWin = Ti.UI.createWindow({ 
    url:login.js 
}); 
loginWin.open(); 


`login.js:` 

var win = Ti.UI.currentWindow; 

var btn = Ti.UI.createButton({.....}); 
btn.addEventListener('click',function(e){ 

    //putting win.close() also causes the problem 
    var appCoreWindow = Ti.UI.createWindow({ 
     url:"core.js" 
    }); 
    win.close(); 
    appCoreWidnow.open(); 
}); 
win.add(btn); 
+2

당신이이 효과를 달성하기 위해 노력하는 방법을 보려면 예제 코드를 게시 할 수 후 누군가가 그것을 조정할 수 있습니다 :

대신이 시도? – daniula

+0

죄송합니다, 질문을 처음 게시하는 경우)) 코드 예제 – user3634263

답변

2

넌 핸들러 내부 창 객체를 생성 및 기능 가비지 수집기 마치면 appCoreWindow 포함 그것으로부터 모든 로컬 변수를 삭제한다.

var win = Ti.UI.currentWindow; 

var appCoreWindow = Ti.UI.createWindow({ url:"core.js" }); 

var btn = Ti.UI.createButton({.....}); 
btn.addEventListener('click',function(e){ 
    appCoreWidnow.open(); 
    win.close(); 
}); 
win.add(btn); 
+0

을 확인하십시오. 정확히 도움을주지는 않았지만 오류를 찾을 수있는 위치를 알았습니다. 대단히 고마워요) – user3634263

+0

문제에 대한 다른 해결책을 발견했다면, 여기에 답변으로 게시 할 수 있습니까? 그래서 StackOverflow의 다른 사용자는 그것을 볼 수 있습니까? – daniula

+0

내가 한 것은 login.js 대신 app.js의 로그인 창을 정의하고 거기에서 core.js로 전환했습니다. 정확히 의도 한 방법은 아니지만 트릭을 수행합니다. 물론 eventListener 외부에 새 창을 만들었습니다. 문제가있는 것 같습니다. – user3634263

관련 문제