zoukankan      html  css  js  c++  java
  • 26 Flutter仿京东商城项目 购物车之 event_bus事件广播 事件监听

    event_bus 介绍
    在前面的课程我们给大家讲过状态管理 Provider 的使用。
    通俗的讲状态管理就是:当我们想在多个页面(组件/Widget)之间共享状态(数据),或
    者一个页面(组件/Widget)中的多个子组件之间共享状态(数据),这个时候我们就可以
    用 Flutter 中的状态管理来管理统一的状态(数据),实现不同组件直接的传值和数据共享。
     event_bus 主要是实现不同组件之间的数据传值,以及在一个组件中
    执行另一个组件的方法。
    event_bus 使用 事件广播 事件监听
    https://pub.dev/packages/event_bus
    1、配置安装依赖
    event_bus: ^1.1.0
    2、新建一文件 EventBus.dart 配置如下代码
    import 'package:event_bus/event_bus.dart';
    //Bus 初始化
    EventBus eventBus = EventBus();
    class ProductContentEvent {
    String text;
    ProductContentEvent(String text){
    this.text = text;
    }
    }
    3、在需要广播事件的页面引入上面的 EventBus.dart 类 然后配置如下代码湖北众猿腾网络科技有限公司
    eventBus.fire(new ProductContentEvent('购物车'));
    4、在需要监听广播的地方引入上面的 EventBus.dart 类 然后配置如下代码
    void initState() {
    super.initState();
    //监听广播
    eventBus.on<ProductContentEvent>().listen((event){
    print(event);
    this._attrBottomSheet();
    });
    }
    四、event_bus 取消事件监听
    var actionSubscription =eventBus.on<ProductContentEvent>().listen((event){
    print(event);
    this._attrBottomSheet();
    });
    actionSubscription.cancel();
     
     

    加群452892873 下载对应26课文件,运行方法,建好项目,直接替换lib目录,在往pubspec.yaml添加上一下扩展。内含本课pdf课件

    cupertino_icons: ^0.1.2
    flutter_swiper: ^1.1.6
    flutter_screenutil: ^0.5.3
    dio: ^2.1.13
    shared_preferences: ^0.5.3+4
    flutter_inappbrowser: ^1.2.1
    provider: ^3.1.0

    event_bus: ^1.1.0
     
    本课关键文件:
    lib/pages/ProductContent/ProductContentFirst.dart
    lib/pages/ProductContent.dart
    lib/services/EventBus.dart
     

  • 相关阅读:
    day1-字符串拼接、表达式、break和continue
    ssh免密登录
    1-5 文档的基本 CRUD 与批量操作
    1-4 安装logstash
    1-3 安装cerebro
    1-2 kibana 7.5.1 安装配置
    1-1 elasticsearch7.5 集群搭建 es 7
    生产环境k8s集群搭建
    Gearman任务分布系统部署windows平台_使用Cygwin
    [转载]单元测试之道(使用NUnit)
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11489553.html
Copyright © 2011-2022 走看看