不处理流,而是将计数器流值重置为 0 并再次收听
Not disposing the stream , but resetting the counter stream value to 0 and listening to it again
我有一个计数器块并在第二页上显示计数器,我想在导航回第一页或按下后退按钮时将计数器值重置为 0(ZERO) 而不处理流 这样我就可以在整个应用程序中收听流媒体。
简而言之,每当返回第二页时,流计数应该从 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);
}
我有一个计数器块并在第二页上显示计数器,我想在导航回第一页或按下后退按钮时将计数器值重置为 0(ZERO) 而不处理流 这样我就可以在整个应用程序中收听流媒体。
简而言之,每当返回第二页时,流计数应该从 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);
}