gpt4 book ai didi

sencha-touch-2 - 如何使用 Sencha Touch2 监听 Controller 中的 Controller 触发的事件

转载 作者:行者123 更新时间:2023-12-04 18:21:33 24 4
gpt4 key购买 nike

我有多个 Controller ,假设它们是 Controller Main 和 Sub,
Controller Sub 触发一个事件,我想在 Controller Main 上捕获它,
我应该怎么办?谢谢!

编辑:我在这里粘贴我的代码

在子 Controller 中:

config: {

control: {
'pinlist': {
disclose: 'showPinDetails'
}
}

}


, showPinDetails: function(list, record) {
console.log('showPinDetails');

this.fireEvent('showPinDetails',list, record);

}

在主 Controller 中:
requires: [
'MyApp.controller.Sub',
],


config: {

listeners: {
'showPinDetails': 'showPinDetails',
}
} ,
showPinDetails: function(list, record){
console.log('showPinDetails');
},

所以,我刚刚从 Sub 那里得到了日志“showPinDetails”,而不是从这两个

最佳答案

在您的 Sub Controller 中,假设您通过以下方式触发了一个事件:

yourComponent.fireEvent('my_event',this);

然后,您必须在主 Controller 中以编程方式定义监听器和处理程序。 最佳实践是:

Ext.define('app.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
yourComponent: 'enter your selector here, eg. #id'
},
control: {
yourComponent: {
'my_event': 'my_event_handler'
}
}
},
my_event_handler: function() {
//do whatever you want here
})
});

关于sencha-touch-2 - 如何使用 Sencha Touch2 监听 Controller 中的 Controller 触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10563780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com