Getx:GetxController依赖管理02,Binding绑定全局控制器(懒加载Controller)

在使用GetX 状态管理器的时候,如果每个页面都手动实例化一个控制器就太麻烦了,
Binding 的作用就是所有需要进行状态管理的控制器进行统一初始化

创建全局控制器Binding

import 'package:get/get.dart';
import '../controllers/counter.dart'; // 同上一篇内容一样
import '../controllers/list.dart'; // 同上一篇内容一样
class AllControllerBinding implements Bindings{@overridevoid dependencies() {// lazyPut:懒加载初始化,用到这个控制器的时候,会自动初始化Get.lazyPut(()=> CountController());Get.lazyPut(()=> ListController());}}

main 入口文件配置全局控制器

import './binding/binding.dart';return GetMaterialApp(initialBinding: AllControllerBinding(), // 表示全局绑定AllControllerBindin
);

用到控制器的页面

// 直接获取,无需创建
ListController controller = Get.find();

这样做的好处是,比如我们在A页面创建的控制器,但是用户先点击的B页面,B页面可能是直接获取这个控制器,就会出现报错,
直接在全局懒加载创建控制器,这样当使用这个控制器的时候,直接获取就行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/61610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东土科技孵化的“网联汽车高速通信技术”前沿产品亮相2024WICV大会

2024世界智能网联汽车大会(WICV)于近日在北京召开。本次大会发布了由中国汽车工程学会组织全球200余位专家,联合评审遴选出未来十年对于智能网联汽车发展具有重要影响的十大技术趋势,包括“面向高级别自动驾驶的超级人工智能”“网…

torch.__version__的torch版本和conda list的torch版本不一致

conda list是1.9.0的torch,但是torch.__version__是1.6的,很奇怪 后来发现这个1.6的torch是base的版本 但是使用“python -m site”查看当前环境的包搜索路径,也是对的,先从我自己的虚拟环境搜索 最后从我自己的虚拟环境里pip uni…

nginx 配置lua执行shell脚本

1.需要nginx安装lua_nginx_module模块,这一步安装时,遇到一个坑,nginx执行configure时,一直提示./configure: error: unsupported LuaJIT version; ngx_http_lua_module requires LuaJIT 2.x。 网上一堆方法都试了,都…

【linux】插入新硬盘如何配置:格式化、分区、自动挂载(Ubuntu)

文章目录 具体方法GPT分区表(GUID Partition Table)(建议都用这种分区方法)MBR分区表方法(最大支持2TB分区)(Master Boot Record) 附加:如何查看硬盘的型号另外&#xff…

使用itextpdf进行pdf模版填充中文文本时部分字不显示问题

在网上找了很多种办法 都解决不了; 最后发现是文本域字体设置出了问题; 在这不展示其他的代码 只展示重要代码; 1 引入扩展包 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</v…

【Ubuntu】如何在Ubuntu系统中查看端口是否可用

文章目录 前言一、使用netstat命令二、使用ss命令三、使用lsof命令四、使用nc&#xff08;netcat&#xff09;命令总结 前言 本文介绍了如何在Ubuntu系统中查看端口是否可用的方法&#xff0c;并给出了具体的命令示例&#xff0c;帮助用户通过命令行工具检测端口的开放状态。 …

长短时记忆网络(SLTM):理解与实践

长短时记忆网络&#xff08;SLTM&#xff09;&#xff0c;即短期长期记忆网络&#xff0c;是一种特殊的循环神经网络&#xff08;RNN&#xff09;&#xff0c;它能够学习到数据中的长期依赖关系。在这篇文章中&#xff0c;我们将详细介绍SLTM的工作原理&#xff0c;并提供一个简…

HTML5实现剪刀石头布小游戏(附源码)

文章目录 1.设计来源1.1 主界面1.2 皮肤风格1.2 游戏中界面 2.效果和源码源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c;在线沟通 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/143798520 HTM…

自动驾驶之激光雷达

这里写目录标题 1 什么是激光雷达2 激光雷达的关键参数3 激光雷达种类4 自动驾驶感知传感器5 激光雷达感知框架5.1 pointcloud_preprocess5.2 pointcloud_map_based_roi5.3 pointcloud_ground_detection5.4 lidar_detection5.5 lidar_detection_filter5.6 lidar_tracking 1 什么…

pycharm在使用conda虚拟环境时Terminal爆红问题

问题&#xff1a; 解决方法&#xff1a; 复制cmd.exe后面所有路径 添加到pycharm的shell path中&#xff1a;

《Python浪漫的烟花表白特效》

一、背景介绍 烟花象征着浪漫与激情&#xff0c;将它与表白结合在一起&#xff0c;会创造出别具一格的惊喜效果。使用Python的turtle模块&#xff0c;我们可以轻松绘制出动态的烟花特效&#xff0c;再配合文字表白&#xff0c;打造一段专属的浪漫体验。 接下来&#xff0c;让…

JavaScript数据类型判断之Object.prototype.toString.call() 的详解

Object.prototype.toString.call() 的详解 Object.prototype.toString.call() 是 JavaScript 中判断数据类型的强大方法。它可以精确区分所有的 JavaScript 内置类型&#xff0c;包括原始类型和对象类型。 语法 Object.prototype.toString.call(value)value 是要检测类型的变…

二次封装的天气时间日历选择组件

这个接口没调通 没有数据展示~ userStore.badgeDate是VUEX全部存的日历数据 <template><!-- 日历组件 --><el-date-pickerref"elPicker":size"size"v-model"dateTimeValue":type"dateType":range-separator"rang…

当你项目服务器磁盘报警

当你们公司运维收到这样的邮件&#xff0c;大概率日志文件过大引起的 在Linux下如何不停止服务,清空nohup.out文件呢&#xff1f; nohup.out会一直一直自己增长下去&#xff0c;如果你的服务器硬盘不给力的话&#xff0c;很容易把应用也挂掉&#xff08;硬盘没空间 &#xff0…

如何理解 TypeScript 中命名空间与模块?两者都有那些区别?如何更好的应用?

在 TypeScript 中&#xff0c;命名空间&#xff08;Namespace&#xff09;和模块&#xff08;Module&#xff09;是两种不同的代码组织方式&#xff0c;用于组织和管理代码结构&#xff0c;避免命名冲突和提高可维护性。虽然它们都可以将代码划分为不同的逻辑单元&#xff0c;但…

基于Qwen-Agent框架的Function Call及ReAct方式调用自定义工具

本文主要基于ollama加载的qwen2.5模型以及Qwen-Agent框架,实现对工具的自主定义和准确调用。调用方式上尝试了Function Call及ReAct这两种大的方向,并探索了流式与非流式生成方式、串行与并行的函数调用、以及中英语言的提示词模版的效果比较。 文章目录 准备工作工具定义模型…

低速接口项目之串口Uart开发(四)——UART串口实现FPGA内部AXILITE寄存器的读写控制

本节目录 一、设计背景 二、设计思路 三、逻辑设计框架 四、仿真验证 五、上板验证 六、往期文章链接本节内容 一、设计背景 通常&#xff0c;芯片手册或者IP都会提供一系列的用户寄存器以及相关的定义&#xff0c;用于软件开发人员进行控制底层硬件来调试&#xff0c;或封装…

git branch -d 删除分支

Git进行版本控制时&#xff0c;删除分支是常见的操作。特别是当特定的功能开发完成或者分支不再需要时&#xff0c;删除分支可以帮助保持仓库的整洁。删除本地分支和删除远端分支是两个独立的操作。如果需要同时删除本地和远端的分支&#xff0c;需要分别执行以下两个命令。 一…

Linux环境开启MongoDB的安全认证

文章目录 1. MongoDB安全认证简介1.1 访问控制1.2 角色1.3 权限 2. MongoDB中的常见角色3. MongoDB Shell3.1 下载MongoDB Shell3.2 通过MongoDB Shell连接MongoDB 4. 创建管理员用户5. 为具体的数据库创建用户6. 开启权限认证7. 重启MongoDB服务8. 连接MongoDB9. MongoDB数据库…

Flutter封装Coap

前言 我们根据Coap数据通信流程写一个公共组件&#xff0c;用户只要在原本的组件外嵌套这个公共组件就可以使用Coap的功能&#xff0c;这样做更加的方便便捷。 具体步骤 封装一个udp函数 创建一个工厂函数&#xff0c;工厂函数初始化时监听广播数据发送广播函数&#xff1a…