Extjs从另一个视图访问一个视图

时间:2015-08-20 22:17:48

标签: javascript extjs

在Extjs中,我试图从另一个视图访问一个视图上的一些数据集。两个视图都在同一页面上呈现。我在sencha fiddle创建了一个小应用程序,显示了我要做的事情。当您单击第二个文本框时,它应显示第一个文本框中的数据。

我想使用其参考值

来提取它
python log.py

1 个答案:

答案 0 :(得分:1)

看看这个。刚做了一些改变: 由于只显示了View,因此您需要定义referenceHolder

下面的示例太过琐碎,无法显示参考的力量。为此,您需要制作ViewController。使用controller config将显示的视图绑定到控制器。然后在控制器中你可以做这样的事情this.lookupReference('superAwesomeTextbox');。现在你已经在控制器中挂钩了那个组件。应该注意referenceHolder不需要ViewController。虽然很简单。

Ext.application({
    name: 'Fiddle',

    launch: function() {

        var panel1 = Ext.create('Ext.panel.Panel', {
            title: 'Hello',
            referenceHolder: true,
            reference: 'HelloPanel',
            width: 300,
            items:[{
                xtype: 'textfield',
                fieldLabel: 'textbox',
                reference: 'superAwesomeTextbox'
            }],
            renderTo: Ext.getBody()
        });

        var panel2 = Ext.create('Ext.panel.Panel', {
            title: 'Hello2',
            reference: 'fooGrid',
            referenceHolder: true,
            width: 300,
            items:[{
                xtype: 'textfield',
                fieldLabel: 'textbox',
                reference: 'superAwesomeTextbox2',
                listeners: {
                    focus: function(comp){
                        var textbox = panel1.lookupReference('superAwesomeTextbox');
                        comp.setValue(textbox.getValue());
                    }
                }
            }],
            renderTo: Ext.getBody(),
        });

    }
});