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
 

26 Flutter仿京东商城项目 购物车之 event_bus事件广播 事件监听的更多相关文章

  1. 25 Flutter仿京东商城项目 购物车页面布局

    加群452892873 下载对应25课文件,运行方法,建好项目,直接替换lib目录,在往pubspec.yaml添加上一下扩展. cupertino_icons: ^0.1.2 flutter_swi ...

  2. 01-02 Flutter仿京东商城项目 功能分析、底部导航Tab切换以及路由配置、架构搭建:(Flutter仿京东商城项目 首页布局以及不同终端屏幕适配方案)

    Flutter和Dart交流学习群:交流群:452892873 01Flutter仿京东商城项目 功能分析.底部导航Tab切换以及路由配置.架构搭建 02Flutter仿京东商城项目 首页布局以及不同 ...

  3. 16 Flutter仿京东商城项目 跳转到搜索页面实现搜索功能 以及搜索筛选

    ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...

  4. 42 Flutter仿京东商城项目 修改默认收货地址 显示默认收货地址

    CheckOut.dart import 'package:flutter/material.dart'; import '../services/ScreenAdapter.dart'; impor ...

  5. 41 Flutter 仿京东商城项目签名验证 增加收货地址、显示收货地址 事件广播

    加群452892873 下载对应41课文件,运行方法,建好项目,直接替换lib目录 AddressAdd.dart import 'package:dio/dio.dart'; import 'pac ...

  6. 36 Flutter仿京东商城项目 用户登录 退出登录 事件广播更新状态

    Login.dart import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:flutter/material.da ...

  7. 13 Flutter仿京东商城项目 商品列表筛选以及上拉分页加载更多

    ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...

  8. 12 Flutter仿京东商城项目 商品列表页面请求数据、封装Loading Widget、上拉分页加载更多

    ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper.dart'; imp ...

  9. 38 Flutter仿京东商城项目 渲染结算页面商品数据

    加群452892873 下载对应38课文件,运行方法,建好项目,直接替换lib目录 CartServices.dart import 'dart:convert'; import 'Storage.d ...

随机推荐

  1. Mybatis.NET Oracle 线上神奇问题:Value does not fall within the expected range.

    1.错误现象 在向数据库查询一条数据的时候报如下错误: Value does not fall within the expected range. at Oracle.ManagedDataAcce ...

  2. Jenkins安装Slave节点

    在系统管理----节点管理下 创建完成后会出现slave节点启动的命令,下载agent.jar,然后启动服务 Master-slave相当于Server和Agent,master管理job和slave ...

  3. 在STM32F746G-DISCO开发板上使用Nabto + FreeRTOS的演示热泵应用

    当使用STM32 ARM Cortex-M微控制器时,ST的免费嵌入式软件STM32Cube提供了所有必要的驱动程序和中间件组件,以减少初始的开发工作.在上述提到的中间件组件中,其中一个是非常受欢迎的 ...

  4. 重新编程Hexiwear Docking Station扩展坞

    Hexiwear扩展坞(Docking Station)有一个很不错的功能:它板载了一个调试电路(OpenSDA). 这样我就不需要一个外部调试器来调试Hexiwear. 但是,重新编程扩展坞自身需要 ...

  5. 个性化召回算法实践(一)——CF算法

    协同过滤推荐(Collaborative Filtering Recommendation)主要包括基于用户的协同过滤算法与基于物品的协同过滤算法. 下面,以movielens数据集为例,分别实践这两 ...

  6. leetcode-cn上面刷题

    https://leetcode-cn.com/problemset/database/ ------------------------------------------------------- ...

  7. P1330 封锁阳光大学[搜索+染色]

    题目来源:洛谷 题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图 ...

  8. 7月新的开始 - Axure学习03 - 布尔运算、表单元件

    布尔运算 布尔运算:是一种数字符号化的逻辑推演法.包含联合.相交.相减等 在图形处理中,通过联合.相交.相减等操作使基本的图形组合产生新的形体 操作 准备 蓝色(底部).绿色(顶部) 合并:两个图形合 ...

  9. Java实习生面试题分享

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别. Java语言提供了八种基本类型: 六种数字类型(四个整数型,两个浮点型) 字节型byte 8位 短整型short 16位 ...

  10. The 2019 China Collegiate Programming Contest Harbin Site J. Justifying the Conjecture

    链接: https://codeforces.com/gym/102394/problem/J 题意: The great mathematician DreamGrid proposes a con ...