美文网首页Flutter
flutter-eventBus兄弟组件传值

flutter-eventBus兄弟组件传值

作者: StevenHu_Sir | 来源:发表于2019-08-29 18:02 被阅读0次

依赖

event_bus: ^1.1.0

eventBus使用流程

  • 引入
import 'package:event_bus/event_bus.dart';
  • 创建实例
EventBus eventBus = new EventBus();
  • 定义event
  • 注册监听
  • 监听特定的event
eventBus.on<UserLoggedInEvent>().listen((event) {
  print(event.user);
});
  • 监听所有的event
eventBus.on().listen((event) {
 print(event. runtimeType);
});
  • 发送一个event
eventBus.fire(new UserLoggedInEvent(myUser));

案例: Flutter eventBus 使用修改切换AppBottomNavigationBar

1.编写 event.dart

import 'package:flutter/material.dart';
import 'package:event_bus/event_bus.dart';

EventBus eventBus = EventBus();

///App TabBar切换
class AppTabChange {
    int pageIndex;
  AppTabChange({this.pageIndex,});
}

2.路由监听

/// 路由监听
eventBus.on<AppTabChange>().listen((event) {
   setState(() {
    _currentIndex = event.pageIndex;
    setState(() {});
    _pageController.jumpToPage(event.pageIndex);
  });
});

3.使用

eventBus.fire(AppTabChange(pageIndex: 1));

报错补充

1.页面为初始化时,event事件监听不生效

解决办法:

`在initState 里面重写,第一次会走initState.`

相关文章

  • flutter-eventBus兄弟组件传值

    依赖 eventBus使用流程 引入 创建实例 定义event 注册监听 监听特定的event 监听所有的even...

  • angular组件之间的传值

    父子组件传值 父组件给子组件传值通过属性绑定的方式 子组件通过发送是事件给父组件传值 兄弟组件相互传值 兄弟组件通...

  • 组件之间的传值

    组件之间的传值,包括父子组件传值,兄弟组件之间的传值,其中父子组件包括父组件向子组件传值和子组件向父组件传值,现在...

  • Vue.js 父子组件传值 . 兄弟组件传值

    概述 vue中组件之间的传值传值情况主要有以下三种 父组件向子组件传值子组件向父组件传值兄弟组件之间相互传值或者是...

  • uni-app通信方式

    一,组件间传值包括下面三种情况: 1,父组件给子组件传值 2,子组件给父组件传值 3,兄弟组件通讯 二 代码1 父...

  • 组件通信

    vue传值可分为父子之间传值、兄弟组件之间传值、跨代组件之间传值 1.父子之间传值:可以使用$emit/props...

  • vuex最详细完整的使用用法

    为什么使用vuex? vuex主要是是做数据交互,父子组件传值可以很容易办到,但是兄弟组件间传值(兄弟组件下又有父...

  • Vue组件之间的传值

    Vue父子组件之间的传值(props)兄弟组件 VUEX

  • Day5 拾遗 emit

    vue emit多个参数利用arguments来获取子组件传值或者兄弟组件通过emit传值, 通过argument...

  • vue的父子传值和使用vuex兄弟传值

    在父组件中引入子组件 父传子 父组件 子组件 子传父 子组件 父组件 兄弟传值 兄弟之间可以通过vue官网的方法,...

网友评论

    本文标题:flutter-eventBus兄弟组件传值

    本文链接:https://www.haomeiwen.com/subject/fwkwectx.html