DistrictMap 컨트롤러의 mapPanel 도구 모음에서 Refs를 통해 Draw Polygon 버튼을 선택하고 싶습니다. 하지만 작동하지 않습니다 및 콘솔에서 정의되지 않은 참조하십시오!extjs4 mvc 컨트롤러에서 툴바 항목 이벤트 잡기
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'
을 테스트했지만 작동하지 않습니다! too #polygonButton
선택자가 툴바 항목을 선택할 수없는 이유는 무엇입니까? 내가 id를 사용한다면 선택기에서 #polygonButton
!
내가 추가하지만 난 응용 프로그램 클릭 이벤트 버튼 발생 실행할 때 모르겠어 그래서 고정 코드입니다! 나는 버튼을 클릭하지 않기 때문에! – taher
@taher 무슨 뜻인지 모르겠지만'Ext.ComponentQuery' 문서를 더 철저하게 읽을 필요가 있다고 생각합니다. 컨트롤러는 마법 같은 것이 아니며 구성 요소 선택기를 사용하여 작동합니다. 구성 요소 선택기를 올바르게 만들면 모든 것이 올바르게 작동합니다. –