Flutter Getx中的put和lazyPut函数使用案例解析

 更新时间:2023年07月27日 10:38:26   作者:大虾啊啊啊  
这篇文章主要为大家介绍了Flutter Getx中的put和lazyPut函数使用案例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

案发现场

在main.dart的runApp函数入口通过AppControllerBinding中的Get.lazyPut懒加载绑定了一个全局的controller,在A界面通过Get.find(),可以拿到这个controller,我退出A界面(还没退出APP)controller就回调了onClose函数,我再次进入商品列表界面

提示我:

"AppController" not found. You need to call "Get.put(AppController())" or "Get.lazyPut(()=>AppController())"

这个时候我很奇怪,既然是通过runApp入口绑定的全局的Controller,为什么在A界面第一次使用的时候可以获取到,退出来就销毁了,在进入A界面就直接报错了呢?

这就要来细读一下Getx中put和lazyPut这两个函数以及他们的参数。

Get.put

 Get.put<AppController>(AppController(),permanent: false);

核心是第二个参数permanent,默认是false

当为false的时候,当在A视图中put,退出A视图就会销毁,当在B视图在使用的时候,就会报错

"AppController" not found. You need to call "Get.put(AppController())" or "Get.lazyPut(()=>AppController())"

当为true的时候,一旦put之后,就不会销毁,其他视图也可以继续使用

Get.lazyPut

Get.lazyPut<AppController>(() => AppController(),fenix: true);

到了lazyPut函数又不一样了,因为参数变成fenix了,并不是上面的permanent,而fenix的意思也有很大的区别。我们容易知道lazyPut是懒加载的,在那个视图需要的时候,就在哪个视图初始化,而fenix这个参数就比较重要。

fenix为false的时候:

第一次进入视图的时候初始化,退出视图的时候,销毁,再次进入该视图会报错

"AppController" not found. You need to call "Get.put(AppController())" or "Get.lazyPut(()=>AppController())"

fenix为true的时候:

第一次进入视图的时候初始化,退出视图的时候,销毁,再次进入该视图重新初始化。
这就是案发现场的原因!!!!!

以上就是Flutter Getx中的put和lazyPut函数使用案例解析的详细内容,更多关于Flutter Getx函数put lazyPut的资料请关注脚本之家其它相关文章!

相关文章

  • android开发通过Scroller实现过渡滑动效果操作示例

    android开发通过Scroller实现过渡滑动效果操作示例

    这篇文章主要介绍了android开发通过Scroller实现过渡滑动效果,结合实例形式分析了Android Scroller类实现过渡滑动效果的基本原理与实现技巧,需要的朋友可以参考下
    2020-01-01
  • Android自定义复合控件实现通用标题栏

    Android自定义复合控件实现通用标题栏

    这篇文章主要为大家详细介绍了Android自定义复合控件实现通用标题栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Android全面屏适配方法详解

    Android全面屏适配方法详解

    Apple一直在引领设计的潮流,自从 iPhone X 发布之后,各种异形屏、刘海屏也都出来,下面这篇文章主要给大家分享介绍了关于Android全面屏与异形(刘海)屏的适配教程,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Android写一个实时输入框功能

    Android写一个实时输入框功能

    这篇文章主要介绍了Android写一个实时输入框功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Android实现无限循环滚动

    Android实现无限循环滚动

    这篇文章主要为大家详细介绍了Android实现无限循环滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Android的EditText字数检测和限制解决办法

    Android的EditText字数检测和限制解决办法

    这篇文章主要介绍了Android的EditText字数检测和限制解决办法的相关资料,需要的朋友可以参考下
    2017-03-03
  • Android监听键盘状态获取键盘高度的实现方法

    Android监听键盘状态获取键盘高度的实现方法

    这篇文章主要给大家介绍了关于Android监听键盘状态获取键盘高度的实现方法,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • Android实现订单倒计时功能

    Android实现订单倒计时功能

    这篇文章主要为大家详细介绍了Android实现订单倒计时的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Kotlin协程Dispatchers原理示例详解

    Kotlin协程Dispatchers原理示例详解

    这篇文章主要为大家介绍了Kotlin协程Dispatchers原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • android调用WebService实例分析

    android调用WebService实例分析

    这篇文章主要介绍了android调用WebService的方法,以实例形式较为详细的分析了WebService的调用原理与具体使用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10

最新评论