您的位置:首页 > 游戏 > 手游 > 成都十大建筑设计公司_无锡中小企业网站制作_搜索引擎排名google_职业技术培训机构

成都十大建筑设计公司_无锡中小企业网站制作_搜索引擎排名google_职业技术培训机构

2024/12/27 11:50:37 来源:https://blog.csdn.net/qq_40745143/article/details/143875056  浏览:    关键词:成都十大建筑设计公司_无锡中小企业网站制作_搜索引擎排名google_职业技术培训机构
成都十大建筑设计公司_无锡中小企业网站制作_搜索引擎排名google_职业技术培训机构

在使用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页面可能是直接获取这个控制器,就会出现报错,
直接在全局懒加载创建控制器,这样当使用这个控制器的时候,直接获取就行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com