希望我能说清楚。
在观看视频和教程之后,我发现这种方式使一些小部件可以将数据输入到块(valueSetting)中,而另一些小部件可以将数据输入(值)中。
我要问的是,是否有更好的方法(必须)。我想避免在小部件之间只共享1个实际值的4个变量。
import 'dart:async';
import 'package:rxdart/subjects.dart';
class BlocExample {
final _valueSettingController = StreamController<bool>();
// object use by widget to push data
Sink<bool> get valueSetting => _valueSettingController.sink;
final _value = BehaviorSubject<bool>(seedValue: false);
// object used by widget to get data
Stream<bool> get value => _value.stream;
BlocExample() {
_valueSettingController.stream.listen(_value.add);
}
void dispose() {
_value.close();
_valueSettingController.close();
}
}
Run Code Online (Sandbox Code Playgroud)