And*_*huk 7 flutter flutter-navigation
我需要获取我当前的路线名称。我习惯于在每个页面中GlobalKey创建。所以我创建:navigatorSeviceNavigator.of(context)navKey
class Keys {
static final GlobalKey<NavigatorState> navKey = GlobalKey<NavigatorState>();
}
Run Code Online (Sandbox Code Playgroud)
当我想重定向到另一个页面时,我会编写Keys.navKey.currentState.pushNamed()或pushReplacementNamed其他一些方法。
我想知道我在 Interceptor 中的当前路线,在那里我没有上下文。
您已经可以从 访问 BuildContext GlobalKey<NavigatorState>()。
在这里- navKey.currentContext,像这样插入- ModalRoute.of(navKey.currentContext).settings.name。
但这会失败,我建议将该navKey属性设置为吸气剂。你可以这样做..
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;
}
Run Code Online (Sandbox Code Playgroud)
这样,您始终可以在应用程序中的任何位置(甚至在业务逻辑中)访问 BuildContext。
用法-App.context或App.width(对于设备宽度)
| 归档时间: |
|
| 查看次数: |
3940 次 |
| 最近记录: |