在Ext.panel组件中,有一个名为expand(Ext.panel p)的事件。
现在我有2个面板,A和B.要求是它们都应该展开和折叠在一起。因此,当我扩展A时,我还需要为B启动'expand'事件。这应该反过来触发B的事件处理程序。 所以语法(请帮我解决):
A.on('expand', userPanelExpand)//event handler for A that performs some logic
现在如何为B添加fireEvent('expand')?它应该是:
A.on('expand', userPanelExpand);
function userPanelExpand(){
//some logic
this.fireEvent('expand', this.B);
}
有些东西不在这里。我在最后一行得到了Stackvoerflow错误。
答案 0 :(得分:1)
A.on('expand', userPanelExpand, this);
B.on('expand', userPanelExpand, this);
// this will not go into recursion because if panel is already expanded then expand event will not be fired if we call panel.expand()
function userPanelExpand(panel) {
if(panel === A) {
B.expand();
} else {
A.expand();
}
}