在Extjs中,我试图从另一个视图访问一个视图上的一些数据集。两个视图都在同一页面上呈现。我在sencha fiddle创建了一个小应用程序,显示了我要做的事情。当您单击第二个文本框时,它应显示第一个文本框中的数据。
我想使用其参考值
来提取它python log.py
答案 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(),
});
}
});