离开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。我知道这很简单,但我现在脑力不集中。
感谢您的帮助。询问您是否需要更多细节。
答案 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”文件夹中的控制器打开视图