Flutter使用Gext层级嵌套出现依赖注入的错误问题

A视图包含B视图,B视图包含C视图,如果是B跳转push到C,那么在B中的binding里面实现  Get.lazyPut(() => C控制器());是没有问题的。

但是如果没有push的层级,A视图包含B视图,B视图包含C视图,那么A视图中的所有page控制器的注入都需要在A视图中的binding来实现,而不是C在B中实现.

fenix属性,如果C视图在B视图中可以销毁,也可以再次出现。那么要设置fenix为true,否则会报错,因为当C视图销毁后binding的控制器
也销毁,如果设置为true,那么Getx会在C视图实例化是再次重新创建控制器实例进行依赖注入

Getx的强大之处在于,你可以获得page中任意的controller

final HomeController c = Get.find();
然后你可以直接使用它!
posted @ 2022-02-15 15:06  有梦想的人,不睡觉  阅读(188)  评论(0编辑  收藏  举报