自学内容网 自学内容网

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)!