1

以下代码来自我的 Controller 类;

1.) 当代码进入SuccessorFailure块时,我需要程序导航到另一个视图,该视图将显示Registration Viewor 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',在屏幕底部显示选项卡。你能告诉我如何在视图之间导航,其中也包括 tabbarpanel。以下代码是我的 Main.js,这是我包含选项卡的地方。

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


    config: {
        tabBarPosition: 'bottom',

        items: [
            {
                xtype:'formReq'

            }
        ]
    }

});
4

1 回答 1

1

你的问题不是很精确。不过,如果您询问如何在页面之间导航,这完全取决于它们的设置方式。假设您将两个视图(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);
});

这只是一种方法(也许不是最好的)。希望这可以帮助。

于 2012-05-06T18:26:46.133 回答