我想通过参考从 DistrictMap 控制器的 mapPanel 工具栏中选择 Draw Polygon 按钮,为此我在 DistrictMap 控制器中使用下面的选择器!但它不起作用,我在控制台中看到未定义!
Ext.define('FM.controller.DistrictMap',{
extend: 'Ext.app.Controller',
refs:[
{
selector: 'mapPanel toolbar > #polygonButton',
ref: 'polygon'
}
],
init: function(){
this.control({
'mapPanel toolbar > button#polygonButton':{
click: this.drawPolygon()
}
});
},
drawPolygon: function(){
console.log(this.getPolygon());
}
我使用以下代码将工具栏添加到 mapPanel。
Ext.define('FM.view.DistrictPanel',{
extend: 'Ext.panel.Panel',
initComponent: function(){
var map = Ext.create('FM.view.MapPanel',{});
map.setPolygonControl();
map.setModifyControl();
map.setSelectControl();
map.addDocked({
xtype: 'toolbar',
dock: 'top',
items:[
{
xtype: 'button',
text: 'Draw Polygon',
enableToggle: true,
toggleGroup: "draw controls",
id: 'polygonButton'
}
]});
上面的选择器不能选择工具栏项目!我测试'mapPanel toolbar #polygonButton'
了选择器,但它不起作用!为什么选择器#polygonButton
不能选择工具栏项目?虽然如果我#polygonButton
在选择器中只使用 id !