私は 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 の外側のチェーンに沿って別のメソッドとして処理したいことです。しかし、私はこのループから抜け出せないようで、すべてのイベントはチェーンとして書き込まれます。しかし、それは間違っているようで、リスナーの数が増えると、コードが乱雑になります。コントローラーのメソッドと内部を切り替える方法はありますか