Titanium Appcelerator父窗口也关闭新窗口

时间:2014-05-13 21:05:03

标签: window titanium parent

我正在尝试打开一个新窗口并关闭其父窗口,这样我就无法返回到上一个窗口并保持应用程序的效率。

然而,在父窗口上调用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);

1 个答案:

答案 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);