• 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
     

  • 相关阅读:
    bzoj1042: [HAOI2008]硬币购物(DP+容斥)
    bzoj3680: 吊打XXX(模拟退火)
    bzoj1867: [Noi1999]钉子和小球(DP)
    iOS怎样获取任何App的资源图片?
    iOS常用第三方库
    iOS应用上架报错解决
    iOS视频直播用到的协议
    iOS开发常用第三方框架
    iOS 打包Framework包含其他Framework的问题
    http和https的区别
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11489553.html
Copyright © 2020-2023  润新知