2013-12-14 4 views
0

Я очень новичок в Sencha Touch, и я пытаюсь разработать приложение, которое включает в себя регистрацию пользователя и пользовательский логин вид.Sencha touch 2 меняет взгляды программно

Главный вид имеет кнопку входа в систему и кнопку регистрации.

То, что я пытаюсь выполнить, - это изменить представления в ответ на нажатые кнопки.

Ниже приведен код, я использую:

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. Проблема заключается в коде выше. Я пробовал эти два разных подхода без успеха.

Может ли кто-нибудь сказать мне, что я делаю неправильно, и как достичь моей смены взглядов?

ответ

0

Похоже, что регистрационная форма не является дочерним компонентом вашей формы входа. Вы должны вызвать setActiveItem из родительского контейнера.

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

+0

спасибо. Это решило мою проблему – sisko