首页 > 其他分享 >Flutter获取全局context

Flutter获取全局context

时间:2023-03-20 13:13:01浏览次数:37  
标签:navigatorKey Global appContext GlobalKey context 全局 Flutter

参考:http://events.jianshu.io/p/1c30ef3111b2

 

1创建一个全局的GlobalKey

  class Global{
     static GlobalKey<NavigatorState> navigatorKey = GlobalKey();
  }

 

2MaterialApp中设置navigatorKey

在main。dart中配置全局

 return MaterialApp(
    title: 'Flutter Demo',
    theme: ThemeData(
    primarySwatch: Colors.blue,
  ),
  navigatorKey: Global.navigatorKey,
  routes: <String, WidgetBuilder>{
    "login": (context) => MyApp1(),
   );

 

3诸如工具类需要context获取context

    BuildContext? context = Global.navigatorKey.currentState!.context;

 

 使用在另一个类里,与创建的类在一个页面
  /**
   * 获取全局context
   */
  static BuildContext appContext() {
    return Global.navigatorKey.currentState!.context;
  }

这样在其他页面使用全局context的时候,只用引入注册类的文件+类名.appContext(),如 context: AppConfig.appContext(),

 
 
 


标签:navigatorKey,Global,appContext,GlobalKey,context,全局,Flutter
From: https://www.cnblogs.com/lude1994/p/17235918.html

相关文章

  • Vue全局挂载axios
    前言在vue开发过程中我们有时会把需要的一些模块挂载的全局,以便在各个组件或页面中使用。vue2与vue3中全局挂载是有一些不同的。一、全局挂载示例:pandas是基于NumPy的一......
  • Flutter Plugin简单开发
    个人博客:http://www.milovetingting.cn新建项目项目结构创建完成后的目录如图所示,其中example是测试工程,用来测试我们写的插件。lib目录下的文件,就是需要具体实......
  • vue中全局过滤器
    //全局的过滤器,进行时间的格式化Vue.filter('dateFormat',function(dateStr){//根据给定的实际那字符串,得到绑定的时间vardt=newDate(dateStr)//yyy--mm--ddvar......
  • flutter项目运行时一直卡在Running Gradle task 'assembleDebug'... & Could not reso
    先是看了别人的文章  Flutter项目启动一直卡在RunningGradletask‘assembleDebug‘问题解决-灰信网(软件开发博客聚合)(freesion.com),做了同样的处理,但接着又报错......
  • LARGER LANGUAGE MODELS DO IN-CONTEXT LEARNING DIFFERENTLY
    我们研究了语言模型中的上下文学习(ICL)如何受到语义先验和输入标签映射的影响。我们在不同的模型族(GPT-3、InstructGPT、Codex、PaLM和Flan-PaLM)中研究了两种设置—带有......
  • 注册全局组件
    main.js中//注册全局组件importTypeNavfrom'@/components/TypeNav'//第一个参数:全局组件的名字,第二个参数:哪一个组件Vue.component(TypeNav.name,TypeNav) 使......
  • nodejs的全局变量探讨之二
    之前写过一篇博文对nodejs全局变量做了一些验证,本篇博文将继续探讨这个话题。建议先看下前篇博文:​​https://blog.51cto.com/livestreaming/5258039​​好了,我们开始今天的......
  • storybook添加全局样式与sass全局变量设置
    storybook组件需要全局样式,只需在.storybook/preview.js增加全局样式即可。import '../src/style/index.scss';export const parameters = {  actions: { arg......
  • linux下的全局代理工具proxychain
    proxychain介绍本文介绍的是proxychains-ng项目在linux上运行一些命令的时候,经常访问到国外的网站,速度非常的慢,例如用git、wget等等,这个时候就可以通过proxychain工......
  • 如何在jvm dump出的堆文件中查看指定成员数据,或者全局变量
    很多时候,当程序OOM或者其他异常情况时,我们需要搞清楚当时应用内部数据情况,所有某些时候我们需要查看当时内存镜像中某些成员变量的值。比如查看当时内存实例中数据库账号,......