我正在使用 Flutter getx 包。
我知道如何将“ever”与这样的 (.obs) 变量一起使用
class CountController extends GetxController {
final count = 0.obs;
@override
void onInit() {
ever(count1, (_) => print("$_ has been changed"));
super.onInit();
}
}
但是如果变量没有 (.obs),如何使用“ever()”或在变量更改时触发特定回调,因为我在 View 中使用 GetBuilder(而不是:Obx 或 GetX)
最佳答案
class AnyScreen extends StatelessWidget {
final controller = Get.put(CounterController());
@override
Widget build(BuildContext context) {
ever(controller.counter, (value) => print("$value has been changed"));
}
@override
Widget build(BuildContext context) {
return Text("whatever!");
}
}
注意:在启动 Controller 或类时应始终使用 Workers,因此它应始终位于 onInit(推荐)、类构造函数或 StatefulWidget 的 initState 上(大多数情况下不推荐这种做法,但应该这样做)没有任何副作用)
关于flutter - 如果我没有添加 .obs,如何在 GetxController 中将ever() 与 Flutter getx 变量一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67866183/