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
     

  • 相关阅读:
    php接收二进制文件转换成图片
    浅述WinForm多线程编程与Control.Invoke的应用
    精典策略模式
    js数组的操作详解
    PHP常用类
    收藏:五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
    在 Windows 上部署 Qt 应用程序
    解决 MinGW5.14 编译 QT4.4.3 报错的问题
    懒人制作 deb 包
    NET 自定义配置文件 Configuration
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11489553.html
Copyright © 2011-2022 走看看