我是 extjs 4 MVC 设计的菜鸟。我有以下代码。
onLaunch: function() {
console.log("Launched Business Unit Controller");
var businessunitsStore = this.getStore('Businessunits');
businessunitsStore.load(function(records){
var comp = Ext.getCmp('business_form');
for(var i=0;i<records.length;i++){
bu = records[i].data;
console.log(bu);
comp.add({
xtype:'button',
cls:'x-button',
width:90,
autoScroll:false,
height:60,
text:bu.businessunit_name,
enableToggle:true,
listeners:{
click: function(){
var pnl = Ext.getCmp('active-units-form');
pnl.add({
xtype:'label',
text:this.text,
})
}
}
}) //comp.add
} //for ...
});
}
如您所见,我在商店加载时添加了一个按钮,并且每个按钮都有进一步的事件。问题是我想将子事件(例如 onLaunch 之外的链下按钮的单击事件)作为单独的方法处理。但似乎我无法摆脱这个循环,所有事件都将被写成一个链。但这似乎是错误的,随着听众数量的增加,代码变得混乱。那么有没有一种方法可以在控制器方法和内部之间来回切换