Sencha Touch 2:如何无缝重置导航视图

时间:2014-03-12 21:33:35

标签: extjs navigation sencha-touch-2

如何完全重置导航视图堆栈,然后推送视图?

我的应用中有两个主要用户流:注册和目录。 在注册过程中,我想在具有典型导航视图动画过渡的视图之间进行动画处理,但隐藏了导航栏。目录是相同的,条形图显示。

当注册转换到目录时,我希望从堆栈中删除注册视图,以便显示导航栏而不显示后退按钮。

到目前为止,我已尝试使用过 navigationView.pop();navigationView.reset(); 如下所述:Sencha Touch Ext.navigation.View pop to root,后跟``navigationView.push(newView);

但是这会导致视图被弹出,但不知何故仍然存在于堆栈中。使用Ext.Function.defer延迟我的推送调用也不起作用。

我现在尝试了多种视图层次结构组合,以实现从注册到目录的转换,但似乎没有任何效果。在重置后调用controller.getItems()时,项目仍然存在。是什么给了什么?

这是我当前的视图层次结构:

Ext.define('MobileWebApp.view.Launch', {
extend: 'Ext.Container',
xtype: 'launch',
id: 'launch',
config: {
    layout: 'vbox',
    baseCls: 'launch',
    items: [{
        xtype: 'container',
        id: 'header',
        layout: 'hbox',
        height: '40px',
        items: [{
            xtype: 'button',
            ui: 'plain',
            baseCls: 'logo',
            width: '110px',
            height: '25px'
        }]
    },
    {
        id: 'mainNav',
        xtype: 'navigationview',
        navigationBar: {
            ui: 'neutral',
            hidden: true
        },
        flex: 1
    }
    ]
}
});

1 个答案:

答案 0 :(得分:0)

我最终创建了第三个主导航视图,该视图从注册导航转换到目录导航。