1

我是使用 Sencha Touch 2 的新手,我已经开始开发平板电脑应用程序。我Sencha Architect用于设计和编写代码,我的应用程序有card layout“左侧”和“右侧”。在左侧,我有一个带有一些按钮的主菜单。这个菜单一直在左边。在右侧,我想根据单击的菜单按钮和用户想要去的位置更改视图(每次单击按钮后都会有超过 3 个级别的导航)。我现在的问题是“如何改变观点?”。到现在为止,我有一个Navigation.View在右边,我有使用this.getPanelFrame().push(view);方法。将某些内容加载到 navegation.view 时,工具栏出现问题,并且我知道如何创建视图和推送,但之后我不知道如何再次加载此视图。

也链接了一个图像,您可以在其中查看我的组件的结构。我的主要疑问是:我是否必须使用 navigation.view 作为“框架”才能在其他视图中加载?如何改变负载别人?有什么选择吗?

太感谢了”

控制器

Ext.define('MyApp.controller.Main', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            panelFrame: '#PanelFrame'
        },

        control: {
            "button#btnclientes": {
                tap: 'onBtnclientesTap'
            },
            "#btnpedidos": {
                tap: 'onBtnpedidosTap'
            }
        }
    },

    onBtnclientesTap: function(button, e, options) {
        var view = Ext.create("MyApp.view.ClientesListView");

        this.getPanelFrame().push(view);
    },

    onBtnpedidosTap: function(button, e, options) {
        var view = Ext.create("MyApp.view.ClientesNewView");

        this.getPanelFrame().push(view);

    }

});
4

1 回答 1

0

为什么不在右侧创建一个容器。然后在项目中:使用 xtype 调用每个视图

{
     xtype: 'container',

    items: [

 {
             xtype: 'view1',
             id: 'Cview1',
              hidden:true,
     },
                {
                    xtype: 'view2',
                    id: 'Cview2',
                   hidden:true,
                },
                {
                    xtype: 'view3',
                    id: 'Cview3',
                    height:'auto',
                     hidden:true,

                }]

然后在按钮的处理程序中,您只需隐藏其他视图并显示您选择的视图,例如:

           {
                                    xtype: 'button',

                                   handler:function(){

                                        Ext.getCmp('Cview1').hide();
                                        Ext.getCmp('Cview2').hide();
                                        Ext.getCmp('Cview3').show();
}
}
于 2013-04-04T21:25:23.110 回答