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
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM