我正在使用MVVM 架构开发Extjs-6应用程序。我有一个面板()。有两个面板(, )。有一个组件()。有一个事件()。我想听。 panel_a
panel_a
panel_1
panel_2
panel_1
component_1_1
component_1_1
event_1
panel_2
event_1
我该如何实施这个问题?
请注意,我使用的是MVVM 架构。
收听 component_1_1 事件是什么意思?你能写更多细节吗?panel_2 到底必须做什么?
也许你想要这样的东西:
看法
Ext.define('MyApp.view.MyPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.mypanel',
requires: [
'MyApp.view.MyPanelViewModel',
'MyApp.view.MyPanelViewController',
'Ext.panel.Panel',
'Ext.form.field.TextArea'
],
controller: 'mypanel',
height: 454,
width: 891,
bodyPadding: 5,
title: 'panel_a',
layout: {
type: 'hbox',
align: 'stretch'
},
items: [
{
xtype: 'panel',
flex: 1,
bodyPadding: 10,
title: 'panel_1',
items: [
{
xtype: 'textfield',
fieldLabel: 'Component_1_1',
listeners: {
change: 'onTextfieldChange'
}
}
]
},
{
xtype: 'panel',
flex: 1,
reference: 'panel_2',
itemId: 'mypanel2',
margin: '0 0 0 5',
layout: 'fit',
bodyPadding: 20,
title: 'panel_2',
items: [
{
xtype: 'textareafield',
height: 138,
width: 359,
fieldLabel: ''
}
]
}
]
});
控制器
Ext.define('MyApp.view.MyPanelViewController', {
extend: 'Ext.app.ViewController',
alias: 'controller.mypanel',
onTextfieldChange: function(field, newValue, oldValue, eOpts) {
this.lookupReference("panel_2").down("textarea").setValue(newValue);
}
});