flutter - 如何使用 ChangeNotifier & Provide 或 BLOC 将整数值从一个地方获取到另一个地方?
问题描述
我希望main.dart中的 pageValue 在 carousel.dart 中设置值,反之亦然?
主要.dart
double pageValue = 0;
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
...
Text("Page Value: $pageValue"),
],
),
);
});
}
}
carousel_images.dart
class CarouselImages extends StatefulWidget {
...
...
@override
_CarouselImagesState createState() => _CarouselImagesState();
}
class _CarouselImagesState extends State<CarouselImages> {
PageController _pageController;
double _currentPageValue = 0.0;
@override
void initState() {
super.initState();
_pageController = PageController(viewportFraction: 0.9);
_pageController.addListener(() {
setState(() {
_currentPageValue = _pageController.page;
print("VALUE OF PAGE : $_currentPageValue");
});
});
}
@override
void dispose() {
super.dispose();
_pageController.dispose();
}
...
...
}
我想从carousel.dart中获取_currentPageValue到main.dart中,并且还希望 main.dart 中的pageValue在carousel.dart中设置 _currentPageValue 的值?
解决方案
您可以在小部件树中获得它们上方的块,使该 int 处于状态,在更改时发送具有给定 int 的事件,并使用 blocbuilder 在状态更改时自动更新它
推荐阅读
- openshift - OpenShift CronJob 可以从 ImageStream 中受益吗?
- c# - 使用 Newtonsoft 反序列化只有 getter 的抽象类
- c++ - 为什么 c++ 模板在被多个源文件包含时不会生成重复的符号?
- reactjs - 在组件中映射道具时如何为道具的孩子编写排除项?
- java - 如何使用 FileDialog 读取文件的数据?
- r - 如何对R函数中的变量进行操作
- reactjs - 渲染函数的结果
- .net - nsubstitute 模拟对任何 XMLNode 值的方法的调用
- excel - Excel 2013 VBA - 用与某个键相关的另一个工作表中的数据填充一系列单元格
- visual-studio-code - 在 VSCode (NodeJs) 中调试时未跳过外部文件