How to use ever() with Flutter getx variable in GetxController if I didn't add .obs

Viewed 3264

I am using Flutter getx package.

I know how to use "ever" with (.obs) variable like this

class CountController extends GetxController {
    final count = 0.obs;
            
    @override
    void onInit() {
        ever(count1, (_) => print("$_ has been changed"));
        super.onInit();
    }
    
}

But how to use "ever()" or triggering specific callbacks when variable change if the variable doesn't have (.obs) because I am using GetBuilder (not : Obx or GetX) in my view

1 Answers
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!");
}

}

NOTE: Workers should always be used when starting a Controller or Class, so it should always be on onInit (recommended), Class constructor, or the initState of a StatefulWidget (this practice is not recommended in most cases, but it shouldn't have any side effects)

docs

Related