如何使用 ChangeNotifier & Provide 或 BLOC 从一个地方获取整数值?
Posted
技术标签:
【中文标题】如何使用 ChangeNotifier & Provide 或 BLOC 从一个地方获取整数值?【英文标题】:How to get integer value from one place to another using ChangeNotifier & Provide, Or BLOC? 【发布时间】:2020-10-20 15:37:59 【问题描述】:我希望 main.dart 中的 pageValue 在 carousel.dart 中设置值,反之亦然?
main.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 的 pageValue。 dart 在 carousel.dart 中设置 _currentPageValue 的值?
【问题讨论】:
【参考方案1】:您可以在小部件树中获取它们上方的块,使该 int 处于状态,在更改时发送具有给定 int 的事件,并使用 blocbuilder 在状态更改时自动更新它
【讨论】:
以上是关于如何使用 ChangeNotifier & Provide 或 BLOC 从一个地方获取整数值?的主要内容,如果未能解决你的问题,请参考以下文章