1

次のコードは私のControllerクラスの一部です。

1.)コードがSuccessまたはFailureブロックに入ると、プログラムが別のビューに移動する必要があります。このビューには、Registration Viewまたはが表示されInformation Viewます。

 Ext.Ajax.request({
                        url: 'http://call.com/the_webservice',
                        params : values,

                        failure: function (response) {
                        var text = response.responseText;
                         // SHOW SIGN UP SCREEN

                        },                              success: function (response) {
                        var text = response.responseText;
                         // GO TO ANOTHER VIEW AND IT WILL SHOW THE USER WITH SOME INFORMATION

                        }

                        });

アップデート

app.jsで

views: ['Main','HomePage','Register'],

launch: function() {

        // Destroy the #appLoadingIndicator element
        Ext.fly('appLoadingIndicator').destroy();

        // Initialize the main view
        Ext.Viewport.add(Ext.create('app.view.Main'));

                Ext.Viewport.add(app.view.Register);

    },

次に、ControllerPage.jsのボタンを押します...

success: function (response) {
                            var text = response.responseText;
                            var result = Ext.decode(response.responseText);
                            Ext.Viewport.setActiveItem(0);

                             console.log("success");

                            }

コンソールログは印刷されますが、ビューはビューsuccessに移動しませんRegister

更新2

私は使用tabPanelしていません。私のコードtabBarPosition: 'bottom',では、画面の下部にタブを表示するために使用しました。タブバーパネルも含めて、ビュー間を移動する方法を教えてください。次のコードは私のMain.jsであり、ここにタブを含めました。

Ext.define("app.view.Main", {
    extend: 'Ext.tab.Panel',


    config: {
        tabBarPosition: 'bottom',

        items: [
            {
                xtype:'formReq'

            }
        ]
    }

});
4

1 に答える 1

1

あなたの質問はあまり正確ではありません。それにもかかわらず、ページ間を移動する方法を尋ねている場合、それはすべてそれらがどのように設定されているかによって異なります. 2 つのビュー (RegistrationView と InformationView) をアプリ ビューポート (Ext.ViewPort) に追加したとします。

Ext.Viewport.add(MyApp.view.RegistrationView)
Ext.Viewport.add(MyApp.view.InformationView)

その後、あなたがしなければならないのは次のことだけです:

Ext.Ajax.request({
                    url: 'http://call.com/the_webservice',
                    params : values,

                    failure: function (response) {
                    var text = response.responseText;
                    Ext.ViewPort.setActiveItem(0);

                    },                              
                    success: function (response) {

                    var text = response.responseText;
                    Ext.ViewPort.setActiveItem(1);
});

これは 1 つの方法にすぎません (最善ではないかもしれません)。お役に立てれば。

于 2012-05-06T18:26:46.133 に答える