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 に答える