flutter - 如果我没有添加 .obs,如何在 GetxController 中将ever() 与 Flutter getx 变量一起使用

标签 flutter flutter-getx

我正在使用 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 上(大多数情况下不推荐这种做法,但应该这样做)没有任何副作用)

docs

关于flutter - 如果我没有添加 .obs,如何在 GetxController 中将ever() 与 Flutter getx 变量一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67866183/

相关文章:

android - Flutter 中出现 'Horizontal viewport was given unbounded height' 错误

flutter - 如何在 Flutter 中实现此 CircularProgressIndicator?

android - FLutter - 尝试运行应用程序时出错

javascript - 复选框列表不会在 flutter getx 中更新

flutter - 可以同时使用 GetX 和 Get_it 吗?

Flutter-Getx : How do I update New Date Selected in Getx dialog box?

Flutter:如何使用 getX 更改文本颜色?

android - 尝试为 flutter 应用构建发布 apk 时出错 - 无法解析项目 :flutter_image_compress

dart - Dart 中类构造函数语法的区别

flutter - Flutter 中的 "dirty"是什么以及导致此 "dirty"状态的原因是什么?