TornadoFx的EventBus使用
2023-02-18 16:36:07 时间
原文地址:TornadoFx中的EventBus使用 | Stars-One的杂货小窝
这里默认各位都清楚EventBus的具体作用,稍微有点短,主要国家没有啥好补充的吧
1.定义事件
//接收事件首会在子线程执行
class MyTestEvent(val data: String): FXEvent(EventBus.RunOn.BackgroundThread)
//接收事件会在主线程(UI线程)执行
class MyTestEvent(val data: String): FXEvent()
如果你的事件不需要传参数,推荐使用object关键字
object MyTestEvent: FXEvent()
2.注册事件监听
官方文档是推荐在init方法中使用,可以在View、ViewModel(还没测试)、Controller中的init方法中注册事件,当然,也可以在onDock的生命周期中使用
override fun onDock() {
super.onDock()
subscribe<MyTestEvent>{
//你的操作
}
}
3.发出事件
在具体某个地方(如按钮的点击事件),使用fire()
发出事件即可
button("Load customers").action {
fire(MyTestEvent("数据.."))
}
参考
相关文章
- [PHP] yield沟通函数循环内外
- [日常] 解决mysql不允许外部访问
- [日常] imap协议读取邮件
- [css] css3 中的新特性加强记忆
- [Laravel] Laravel的基本数据库操作部分
- [PHP]命令执行函数的区别
- [Laravel] Laravel的基本使用
- [PHP] 简单多进程并发
- [Redis] redis的设计与实现-对象系统
- [Redis]Redis的设计与实现-链表/字典/跳跃表
- [MySQL]select和where子句优化
- [日常] nginx的错误日志error_log设置
- [日常] nginx记录post数据
- [redis] Redis的介绍
- [PHP] PHP在CLI环境下的错误日志
- [PHP] 2018年终总结
- [MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段
- [日常] DNS解析概述
- [PHP] swoole的安装和简单使用
- [PHP] PHP闭包(closures)