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
     

  • 相关阅读:
    [CF1039D]You Are Given a Tree
    [洛谷P2107]小Z的AK计划
    [CF409F]000001
    [洛谷P1801]黑匣子_NOI导刊2010提高(06)
    [洛谷P3377]【模板】左偏树(可并堆)
    [洛谷P2482][SDOI2010]猪国杀
    [CF45G]Prime Problem
    [CF735D]Taxes
    [洛谷P3413]SAC#1
    [洛谷P4124][CQOI2016]手机号码
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11489553.html
Copyright © 2011-2022 走看看