1

我正在使用MVVM 架构开发Extjs-6应用程序。我有一个面板()。有两个面板(, )。有一个组件()。有一个事件()。我想听。 panel_apanel_apanel_1panel_2panel_1component_1_1component_1_1event_1panel_2event_1

我该如何实施这个问题

请注意,我使用的是MVVM 架构

在此处输入图像描述

4

1 回答 1

0

收听 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);
    }

});
于 2015-10-23T10:15:01.197 回答