gpt4 book ai didi

flutter - 如何获取当前路线的名称?

转载 作者:行者123 更新时间:2023-12-04 11:33:53 27 4
gpt4 key购买 nike

我需要获取我当前的路线名称。我用 GlobalKey创建 navigatorSevice相反 Navigator.of(context)在每一页。所以我创建了 navKey :

class Keys {
static final GlobalKey<NavigatorState> navKey = GlobalKey<NavigatorState>();
}
当我想重定向到另一个页面时,我会写 Keys.navKey.currentState.pushNamed()pushReplacementNamed或其他一些方法。
我想知道我在 Interceptor 中的当前路线,在那里我没有上下文。

最佳答案

您已经可以从 GlobalKey<NavigatorState>() 访问 BuildContext .
这里 - navKey.currentContext ,像这样插上 - ModalRoute.of(navKey.currentContext).settings.name .
但这会失败,我建议制作 navKey属性 setter/getter 。你可以这样做..

final App = Helper.I;

class Helper {
static Helpers get I => Helpers._();

Helpers._();

GlobalKey<NavigatorState> get navKey => GlobalKey<NavigatorState>();

BuildContext get context => navKey.currentContext;

double get height => MediaQuery.of(context).size.height;

double get width => MediaQuery.of(context).size.width;
}
这样,您始终可以在应用程序的任何位置(甚至在您的业务逻辑中)访问 BuildContext。
用法 - App.contextApp.width (对于设备宽度)

关于flutter - 如何获取当前路线的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59250733/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com