Window 钛Appcelerator父窗口也关闭新窗口

Window 钛Appcelerator父窗口也关闭新窗口,window,titanium,parent,Window,Titanium,Parent,我正在尝试打开一个新窗口并关闭它的父窗口,这样我就不能返回到以前的窗口并保持应用程序更高效 但是,在父窗口上调用close也会导致新窗口关闭,无论我是在打开新窗口之前还是之后调用它。 发生的情况是新窗口正在打开,然后立即关闭。 我试图在事件侦听器上打开一个新窗口关闭父窗口。。。但那没用 代码示例: `app.js:` var loginWin = Ti.UI.createWindow({ url:login.js }); loginWin.open(); `login.js:` v

我正在尝试打开一个新窗口并关闭它的父窗口,这样我就不能返回到以前的窗口并保持应用程序更高效

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

您正在eventhandler内创建窗口对象,当函数完成时,垃圾收集器将从中删除所有局部变量,包括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);

您能否发布示例代码,看看您是如何尝试实现此效果的,然后有人可以对其进行调整?对不起,第一次发布问题时请检查代码示例没有帮助,但现在我知道在哪里查找错误。非常感谢)如果您发现了不同的问题解决方案,能否将其作为答案发布在此处,以便StackOverflow的其他用户可以看到?我所做的是在app.js中定义登录窗口,而不是在login.js中,并从那里转换到core.js。这并不完全是我们想要的方式,但确实奏效了。当然,在eventListener之外创建了新窗口,这似乎就是问题所在。