flutter - 不处理流,而是将计数器流的值重置为0并再次收听

标签 flutter dart dart-stream

我有一个计数器块并在第二页上显示该计数器,我想在导航到第一页或按下后退按钮而不将流设置为零时将计数器值重置为0(零),这样我就可以在整个过程中收听流该应用程序。
简而言之,每当返回第二页时,流计数应从0开始。
CounterBloc.dart

import 'dart:async';

class CounterBloc {
  int _counter = 0;
  StreamController<int> _countController = StreamController<int>.broadcast();

  Stream<int> get counterStream => _countController.stream;
  StreamSink<int> get counterSink => _countController.sink;

  void incrementCounter() {
    _counter++;
    counterSink.add(_counter);
  }
}

最佳答案

您需要在Bloc内部创建一个新的方法(操作)。

  void resetCounter() {
    _counter = 0;
    counterSink.add(_counter);
  }

关于flutter - 不处理流,而是将计数器流的值重置为0并再次收听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61694115/

相关文章:

flutter - 如何在 flutter 屏幕和 native (android/ios)屏幕之间导航

datetime - 如何获取特定周数的日期范围

image - CachedNetworkImage 仅显示占位符并且不会在 Flutter 聊天应用程序中加载图像

flutter - 在Flutter中取消StreamSubscription

flutter - 使用Flutter从Firebase Firestore查询中获取单个文档

flutter - 没有任何问题,但我仍然收到错误消息

flutter - 将数据从自定义小部件文本字段传递到计算器 flutter

node.js - 从 node-webkit 打开外部 anchor 链接

html - 在 Polymer 中使用重复模板时,禁用数据绑定(bind)中的转义 HTML