我的问题很简单:如何从 ChangeNotifier 启动导航?我有一个带有消费者的仪表板设置,我想根据 ChangeNotifier 模型中某些操作的结果来更改路线。
之前有人问过类似的问题,但没有得到解答:如何从 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
好吧,除了我之外,这对所有人来说似乎都是显而易见的。您只需要将上下文传递到 ChangeNotifier 中,然后您就可以Navigator.pushNamed(context, routeName);
我正在寻找一种方法来从适当的小部件树中实现这一点。我没有想到只从模型中进行操作-我仍然不确定这是最佳实践-但它确实有效。