flutter EventBus

#配置文件中 先 引入

event_bus: ^2.0.0

1.封装一个类 便于直接调用
Dart 复制代码
import 'package:event_bus/event_bus.dart';
class EvenBlueUtil{

  static EventBus eventBus = EventBus();

  static EventBus eventBusUpdate = EventBus();

}

class UserLoggedInEvent {

  var user;

  UserLoggedInEvent(this.user);

}

class NewOrderEvent {

  var order;
  NewOrderEvent(this.order);

}
2.使用方法
Dart 复制代码
//可以传值也可以不传值 括号类型可以放入自己想要的信息
EvenBlueUtil.eventBus.fire(null);
3.在需要接受页面的消息进行注册

StreamSubscription? subscription;

从even可以接收传递的信息

Dart 复制代码
 @override
  void initState() {
    super.initState();
    _controller = EasyRefreshController(
    
    subscription = EvenBlueUtil.eventBus.on().listen((event) {
      
      print("消费!!!!!!");
      
     
    });
  }

  @override
  void dispose() {
    
    super.dispose();
    subscription!.cancel();
  }

//注意 离开页面会被销毁,会接收不到 但是跳转页面不会,比如跳转页面进行修改,然后返回页面是可以的,但是 点击底部菜单栏从 首页,我的来回切换是不可以的

相关推荐
tongluowan007几秒前
怎么保证缓存和数据库的一致性
java·数据库·缓存·一致性
一条泥憨鱼几秒前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
ゆづき几秒前
假如编程语言们有外号
java·c语言·c++·python·学习·c#·生活
凤山老林2 分钟前
63-Java LinkedList(链表)
java·开发语言·链表
TDengine (老段)8 分钟前
TDengine 支持数据类型深度解析 — 类型体系、存储编码与选型指南
java·大数据·数据库·系统架构·时序数据库·tdengine·涛思数据
shandianchengzi1 小时前
【科普】安卓|安卓手机上如何简便实现Ctrl+Z(需要键盘或一台Windows电脑)
android·windows·智能手机·计算机外设·安卓·科普·记录
浮尘笔记2 小时前
Java Snowy框架CI/CD云效自动化部署流程
java·运维·服务器·阿里云·ci/cd·自动化
赏金术士8 小时前
Compose 教学项目
android·kotlin·compose
晓梦林9 小时前
ximai靶场学习笔记
android·笔记·学习
一直不明飞行9 小时前
Java的equals(),hashCode()应该在什么时候重写
java·开发语言·jvm