flutter - 如何从 ChangeNotifier 推送路由?
问题描述
我的问题很简单:如何从 ChangeNotifier 启动导航?我有一个带有消费者的仪表板设置,我想根据 ChangeNotifier 模型中某些操作的结果来更改路线。
之前有人问过类似的问题,但没有得到解答:如何从 ChangeNotifier 导航?
解决方案
1. main.dart
MaterialApp(
navigatorKey: NavigationService().navigatorKey,
)
2 创建新班级
class NavigationService {
final GlobalKey<NavigatorState> navigatorKey =
new GlobalKey<NavigatorState>();
GlobalKey<ScaffoldState> scaffoldKey = new GlobalKey<ScaffoldState>();
Future<dynamic> navigateTo(String routeName) {
return navigatorKey.currentState.pushNamed(routeName);
}}
在模型类中在任何函数中使用它
NavigationService>().navigateTo(homePageRoute) // your router name
推荐阅读
- c++ - 停止不断增加的无限递归模板实例化,这是不需要的
- vb.net - vb.net 以编程方式添加事件处理程序
- python - 对多个时间序列进行分组和聚合
- selenium - 从 './plugins' 导入 { PluginConfig, ProtractorPlugin };
- c# - 使用 netcoreapp3.0 安装 dotnet-ef 时面临的问题
- reactjs - 反应折叠行onClick
- java - 列出碧玉报告中的深层嵌套集
- python - 关于 Python 中的迭代函数
- elasticsearch - ElasticSearch 查询不返回数组的完全匹配
- c++ - 为什么 std::iterator 不包含 std::prev() 作为成员函数?