3

我需要关闭 windows2 才能打开 windows3。我有下一个代码:我是钛的初学者,请帮助我。

    //Windows1.XML
    <Alloy>
        <Window exitOnClose="false">
            <Button   onClick="openWindows2" visible="false">
            </Button>
        </Window>
    </Alloy>
    CONTROLLER
    //Window1.js
    function openWindows2(e)
    {
      var Window2=Alloy.createController('Window2').getView();
      newWindows.open(); 
    }
    $.Windows1.open()

此代码是我在 windows1 //Window2.XML 上使用第一个控制器打开的第二个视图

    <Alloy>
        <Window exitOnClose="false">
            <Button   onClick="openWindows3" visible="false">
            </Button>
        </Window>
    </Alloy>

控制器功能打开windows 3 //Window2.js

    function openWindows3(e)
    {
      var Window3=Alloy.createController('Window3').getView();
      newWindows.open(); 
    }
    $.Windows2.open()

我的窗口 3 //Window3.XML

    <Alloy>
        <Window exitOnClose="false">
            <Button  onClick="anotherFn" visible="false">
            </Button>
        </Window>
    </Alloy>
    //Window3.js
    $.Windows3.open()
4

3 回答 3

6

你用 XML 定义你的窗口,比如 mycoolwindow.xml。

然后从代码的其他部分:

 var win=Alloy.createController('mycoolwindow').getView();
 win.open();

请参阅此处的示例:https ://github.com/ricardoalcocer/AlloyOpenWindow

或访问此链接:http ://www.youtube.com/watch?v=CB26lUj0UBQ

于 2013-11-01T12:26:53.203 回答
1

将此函数放在 Window2.js 中:

function openWindow3(){
Alloy.createController('Window3');
$.Window2.close();
}

窗口3.js:

$.Window3.open();
于 2015-05-07T13:37:13.853 回答
0

首先,如果同时关闭一个窗口并打开一个新窗口在 Android 中不起作用。应用程序崩溃。相反,我建议删除窗口的所有子窗口并将其隐藏(仅适用于 Android),对于 IOS,您可以关闭它。这样也可以管理内存泄漏。

关于打开一个窗口,请避免初始化新对象,因为它们会占用内存。直接使用open函数。例如:

Alloy.createController('mycoolwindow').getView().open();
于 2015-05-07T12:09:39.087 回答