Sencha touch 2 Sencha touch 2/带导航视图的应用程序工作流

Sencha touch 2 Sencha touch 2/带导航视图的应用程序工作流,sencha-touch-2,Sencha Touch 2,sencha touch 2存在问题 我试图了解如何实现sencha touch 2中提供导航视图的相同功能,但是。。。。 “Ext.NavigationView”组件的每个项都应该有自己独特的“navigationBar”元素集。例如,我指的是一套按钮 我知道我可以这样做: this.getMain().getNavigationBar().rightBox.removeAll(); this.getMain().getNavigationBar().rightBox.add(this.get

sencha touch 2存在问题

我试图了解如何实现sencha touch 2中提供导航视图的相同功能,但是。。。。 “Ext.NavigationView”组件的每个项都应该有自己独特的“navigationBar”元素集。例如,我指的是一套按钮

我知道我可以这样做:

this.getMain().getNavigationBar().rightBox.removeAll();
this.getMain().getNavigationBar().rightBox.add(this.getSettingButton());
        //where 'getSettingButton' predefined by me a button
并在每次“按下”事件发生时执行此操作(清除“导航栏”并添加相应的按钮集)

当然,我甚至可以在“items”属性中使用“layout:card”和一组“Ext.Panel”元素实现“Ext.Panel”,每个元素都有唯一的“toolbar”。 要控制行为,我可以使用“setActiveItem”方法

但是,我认为这些方法都有点奇怪,不是吗

我希望这将是更自然的方法来实现它


很可能我不知道我需要什么。证实我的怀疑。最好的方法是什么。

目前,Ext.NavigationView倾向于在“简单”视图之间执行导航。这里的“简单”意味着您的视图只是带有innerHTML的面板,而不是带有功能按钮、工具栏等的“复杂”视图

据我所知,有两种方法可以尝试:

  • 如果仍要使用Ext.NavigationView,可以通过导航栏配置、getter和setter将标题、项目(按钮、空格等)自定义为普通组件的导航栏

  • (推荐)如果您的视图彼此之间完全不同,则应使用多个包含不同项目的Ext.容器(例如,第一个容器包含简单的HTML公告,第二个容器包含一些额外的Ext.按钮,等等)。对于动画导航,只需使用
    animateActiveItem()
    。我想这种方式更灵活