Sencha触摸2以编程方式更改视图

时间:2013-12-14 22:51:10

标签: sencha-touch-2

我是Sencha Touch的新手,我正在尝试开发一个包含用户注册视图和用户登录视图的应用程序。

主视图有一个登录按钮和一个注册按钮。

我想要完成的是改变视图以响应被点击的按钮。

以下是我正在使用的代码:

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

    requires: ['Ext.data.JsonP'],

    config: {
        refs: {
            mainPage: 'mainpage',
            loginForm: 'loginform',
            registerForm: 'registerform'
        },
        control: {
            'button[action=UserNewAccount]': {
                tap: 'onNewAccount'
            },
        }
    },//config

    /**
     * respond when new account is requested
     */
     onNewAccount: function(event){

        /**
         * I have tried this ...
         */
        this.getLoginForm().add(this.getRegisterForm());
        this.getLoginForm().setActiveItem(this.getRegisterForm());

        /**
         * ... and this
         */
         this.getLoginForm().setActiveItem({
            xtype: 'registerform'
        });

        console.log('New account requested: ');
     }

});

onNewAccount 功能响应得很好。 console.log调用执行。问题是上面的代码。我尝试过这两种不同的方法但没有成功。

谁能告诉我我做错了什么以及如何改变观点?

1 个答案:

答案 0 :(得分:0)

注册表似乎不是您登录表单的子组件。您必须从父容器中调用setActiveItem

this.getMainPage().setActiveItem(this.getRegisterForm());