GetxController 结构体
Posted
技术标签:
【中文标题】GetxController 结构体【英文标题】:GetxController structure 【发布时间】:2021-10-21 11:43:42 【问题描述】:class Controller extends GetxController
int currentIdx = ''.obs;
void updateInt(int idx)
currentIdx = idx.obs;
这是我的控制器。现在我把这条线作为一个小部件来获取 idx 值并立即分配给 currentIdx 值:
Controller().updateInt(idx);
但 .obs 行在当前结构中会出错。
当我更换控制器时:
class Controller extends GetxController
RxInt currentIdx = 0.obs;
void updateInt(RxInt idx)
currentIdx = idx;
这次是 Controller().updateInt(idx);给出错误。 (RxInt 不兼容 int 值)
我该如何处理?
【问题讨论】:
【参考方案1】:你需要这样声明和使用:
RxInt currentIdx = 0.obs;
void updateInt(int id)
currentIdx.value = id;
【讨论】:
Obx(() => Text(Controller().currentIdx.toString())),
总是给出 0 结果。
如果您使用Controller()
,请始终创建一个新实例。首先声明Controller controller = new Controller()
,然后将值设置为controller.currentIdx
。在小部件中,您必须调用 controller.currentIdx.value.toString()
以上是关于GetxController 结构体的主要内容,如果未能解决你的问题,请参考以下文章
[Windows内核分析]KPCR结构体介绍 (CPU控制区 Processor Control Region)
Flutter中GetX系列六--GetxController使用详情
如何使用 GetX 订阅另一个 Controller 中的更改?
未处理的异常:堆栈溢出,Flutter GetXController 正在初始化 2000 次