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{
@override
void 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页面可能是直接获取这个控制器,就会出现报错,
直接在全局懒加载创建控制器,这样当使用这个控制器的时候,直接获取就行。
原文地址:https://blog.csdn.net/qq_40745143/article/details/143875056
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!