首页 > 解决方案 > 如何从 ChangeNotifier 推送路由?

问题描述

我的问题很简单:如何从 ChangeNotifier 启动导航?我有一个带有消费者的仪表板设置,我想根据 ChangeNotifier 模型中某些操作的结果来更改路线。

之前有人问过类似的问题,但没有得到解答:如何从 ChangeNotifier 导航?

标签: flutterdartflutter-change-notifier

解决方案


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);
}}
  1. 在模型类中在任何函数中使用它

    NavigationService>().navigateTo(homePageRoute)  // your router name
    

推荐阅读