我是 sencha 的新手,我正在尝试使用 ctrl 将数据从一个页面传递到另一个页面到 ctrl,onclick 提交按钮的值应该携带到另一个页面视图
注册页面查看
Ext.define('sample.view.register.Registration', {
extend: 'Ext.container.Container',
xtype: 'register',
itemId: 'registers',
layout: 'vbox',
requires: [
'sample.view.register.RegistrationModel',
'sample.view.register.RegistrationController',
'sample.view.user.User',
'sample.view.user.UserController',
'sample.store.Personnel'
],
controller: 'register',
viewModel: 'register',
items: [
{
xtype: 'container',
padding: 10,
items: [{
xtype: 'textfield',
fieldLabel: 'User Name',
name: 'nameReg',
bind: {
value: '{formData.nameReg}'
}
}, {
xtype: 'textfield',
name: 'password1',
inputType: 'password',
itemId: 'password1',
fieldLabel: 'Password',
},
{
xtype: 'button',
text: 'Submit',
handler: 'onSubmit'
}],
}],
**注册控制器**
Ext.define('sample.view.register.RegistrationController', {
extend: 'Ext.app.ViewController',
alias: 'controller.register',
onSubmit: function () {
var name = Ext.ComponentQuery.query('#nameReg')[0].lastValue;
var pass = Ext.ComponentQuery.query('#password1')[0].lastValue;
var age = Ext.ComponentQuery.query('#age')[0].lastValue;
const da = this.getViewModel().get('formData');
console.log(da) // im getting data here user, this data I want to carry to another page( User page )
// Ext.create('sample.view.user.User', {
// id: Ext.id(),
// myVariable: store,
// });
注册
模型页面
Ext.define('sample.view.register.RegistrationModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.register',
data: {
formData: {
nameReg: '',
pass: null,
},
afterSubmit: true,
// names: 'sample',
// loremIpsum: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
},
});
用户页面视图
在这里我想显示数据,它是从 reg 页面携带并将值绑定到输入
Ext.define('sample.view.user.User', {
xtype: 'user',
extend: 'Ext.form.Panel',
// extend: 'Ext.Container',
extend: 'Ext.container.Container',
itemId: 'userPage',
requires: [
'sample.view.register.RegistrationController',
'sample.view.register.RegistrationModel'
],
// viewModel: {
// data: {
// title: 'Default Title'
// }
// },
// initComponent: function () {
// if (this.title) {
// console.log('==========', this.title)
// }
// },
width: 600,
bodyPadding: 10,
// layout: 'form',
autoScroll: 'true',
items: [{
xtype: 'textfield',
fieldLabel: 'User Name',
name: 'nameReg',
itemId: 'nameReg',
bind: {
value: '{formData.nameReg}'
}
}]
});
在这里我尝试过使用视图模型,但我不知道它是如何工作的,如果您需要更多信息,请告诉我,提前致谢