我正在尝试打开一个新窗口并关闭其父窗口,这样我就无法返回到上一个窗口并保持应用程序的效率。
然而,在父窗口上调用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);
答案 0 :(得分:2)
您正在事件处理程序中创建Window对象,当函数完成时,垃圾收集器会从中删除所有局部变量,包括应用程序CoreWindow。
请改为尝试:
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);