美文网首页
Flutter跨组件事件传递——Eventbus

Flutter跨组件事件传递——Eventbus

作者: 刘铁崧 | 来源:发表于2020-12-17 12:51 被阅读0次

一个简单好用的第三方工具——Eventbus:
地址:https://pub.dev/packages/event_bus

1.安装

pubspec.yaml文件导入:并执行pub get

event_bus: ^1.1.1

2.使用

全局创建一个eventBus对象

  final eventBus = EventBus();
  • 发送消息widget
class TSButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      child: Text("Eventbus"),
      onPressed: (){
          eventBus.fire("发送消息");
      },
    );
  }
}
  • 接受消息widget

class TSText extends StatefulWidget {
  @override
  _TSTextState createState() => _TSTextState();
}

class _TSTextState extends State<TSText> {
  String _message = "hello";
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    eventBus.on<String>().listen((event) {
      setState(() {
        _message = event;
      });
    });
  }
  @override
  Widget build(BuildContext context) {
    return Text(_message,style: TextStyle(color: Colors.red,fontSize: 20));
  }
}

相关文章

  • Flutter跨组件事件传递——Eventbus

    一个简单好用的第三方工具——Eventbus:地址:https://pub.dev/packages/event_...

  • Flutter跨组件传递事件

    步骤 1. 引入第三方库 在 pubspec.yaml 引入 event_bus: ^1.1.1 2. 定义在组件...

  • Flutter跨组建传递数据的三种方式

    背景:flutter组件嵌套都很深,依次传递数据很麻烦,所以最好是能够跨组件传递。有三张跨组件的方式:Inheri...

  • vue 事件总线EventBus的概念、使用

    两个组件之间毫无关系,用到 vue 中的事件总线 EventBus的概念来传递数据 EventBus又称事件总线,...

  • EventBus3新特性及用法

    EventBus 3 简介 EventBus是一种为了优化Android组件之间事件传递的解耦工具,通过发布/订阅...

  • vue 组件通讯

    组件之间的通讯简述:父子组件的关系可以总结为 props 向下传递,事件event向上传递祖先组件和后代组件(跨多...

  • Flutter -- 跨组件传递数据

    方式数据流动方式使用场景优缺点属性传值父到子简单数据传递传值简单,但跨多个父子节点不方便InheritedWidg...

  • Flutter(三十五)事件总线EventBus

    在Android原生中,有广播可以进行跨页面传递数据。Flutter中我们可以自定义一个事件总线,实现跨页面传递数...

  • EventBus 3.0 源码解析

    前言 EventBus是一个发布/订阅框架。用两个字来概括它,解耦。它简化了组件间事件传递,也可用于线程间事件传递...

  • 事件总线Eventbus的实现

    EventBus是对Android的发布/订阅事件总线。可以很轻松的实现在Android各个组件之间传递消息,并且...

网友评论

      本文标题:Flutter跨组件事件传递——Eventbus

      本文链接:https://www.haomeiwen.com/subject/fzyrgktx.html