如何在 Navigator 中传递 ChangeNotifier?
Posted
技术标签:
【中文标题】如何在 Navigator 中传递 ChangeNotifier?【英文标题】:How to pass ChangeNotifier in Navigator? 【发布时间】:2021-03-14 18:24:17 【问题描述】:我有一个延伸到 ChangeNotifier 的类。我的主页侦听此类的 bool 变量之一并更新其 UI。在我的主页上,我有一个 Navigator.push (screen1),从这里,我有另一个 Navigator (screen2)。从 screen2 我想更改该类的 bool 变量的值。那么如何通过我的 Provider 以便从屏幕 2 进行更改,该屏幕 2 堆叠在 Navigator 中并且我可以在我的 HomePage 中收听? 我的 ChangeNotifierProvider 添加在 HomePage 上方。
编辑:对我有用的解决方案是在 MultiProvider 中的 MaterialApp 上方添加 ChangeNotifierProvider 但这是一种有效的方法吗?因为我已将 ChangeNotifierProvider 放在我的树中,所以它没有被使用。
【问题讨论】:
【参考方案1】:通常的做法(参见provider example)是在小部件树的顶部有一个Provider
。所以是的,它很有效,不用担心。
【讨论】:
以上是关于如何在 Navigator 中传递 ChangeNotifier?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Dart 中将 Navigator 函数作为参数传递?