2

在离开 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>

当用户点击一个按钮时,比如现在的识别按钮,它应该打开识别视图。我知道这很简单,但我现在脑子有问题。

谢谢您的帮助。询问您是否需要更多详细信息。

4

1 回答 1

2

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

<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我以这种方式使用主视图,从“包含”文件夹中的控制器打开视图

于 2013-11-05T23:45:58.090 回答