钛合金打开视图从按钮

时间:2013-11-05 20:48:54

标签: titanium-alloy

离开Titanium一段时间后,我似乎忘记了最简单的任务。例证:我在主页面上有一堆按钮。单击时,每个按钮都应打开其各自的视图。如何在单击按钮时打开该关联视图?

查看

<Alloy>
<Tab title="Home">
    <Window class="container">
        <Label>This is the Home View</Label>
        <ImageView id="kplLogo"/>
        <View id="homeNav">
            <Button class="navButton" id="recognizeButton" title="Recognize" onClick="doClick" />
            <Button class="navButton" id="reactButton" title="React"/>
            <Button class="navButton" id="reportButton" title="Report"/>

        </View>
    </Window>
</Tab>
</Alloy>

当用户点击按钮时,例如nowButton,它应该打开recognView。我知道这很简单,但我现在脑力不集中。

感谢您的帮助。询问您是否需要更多细节。

1 个答案:

答案 0 :(得分:2)

首先,为每个Button添加一个属性,以便调用子视图控制器,例如:

<Button id="recognizeButton" title="Recognize" child_controller="recognizeView" />

还在<tab>元素上使用id:

<Tab id="hometab">

然后,在控制器中添加事件监听器:

$.recognizeButton.addEventListener('click', function(e) {
    if (e.source.child_controller) {
      controller = Alloy.createController(e.source.child_controller);
      $.hometab.open(controller.getView());
    }
});

这将在同一选项卡中打开一个新窗口,保留历史记录,以便在您单击reutrn时,您将返回主选项卡。如果您需要更广泛的示例,请检查:https://github.com/asiviero/drupanium_app/tree/master/app我以这种方式使用主视图,从“includes”文件夹中的控制器打开视图