我是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调用执行。问题是上面的代码。我尝试过这两种不同的方法但没有成功。
谁能告诉我我做错了什么以及如何改变观点?
答案 0 :(得分:0)
注册表似乎不是您登录表单的子组件。您必须从父容器中调用setActiveItem
。
this.getMainPage().setActiveItem(this.getRegisterForm());