Flutter中GetX系列五--Works(监听属性变化回调)使用详情

本文介绍了如何在Flutter中使用GetX库进行状态管理,特别是关注于如何监听和响应数据变化。通过创建一个自定义的GetxController类,声明响应式属性,并利用`.obs`、`ever`、`once`、`debounce`和`interval`方法来实现不同的数据变化监听。在onInit中设置监听回调,展示了在购物车场景中计算总价的应用。此外,还强调了`onInit`的使用时机和注意事项。

步骤一:

先自定义一个类并继承于GetxController,然后声明响应的属性.

//必须继承GetxController
class numberVC extends GetxController {
  //声明的变量后面必须跟.obs.当它变化的时候,使用Obx才能够监听到.
  var count = 0.obs;//自定义的属性
  increment() => count++;//自定义的方法

  @override
  void onInit() {
    // TODO: implement onInit
    //当调用Get.put方法的时候,onInit就会执行.
    super.onInit();
    /**使用场景:
     * 当我们在购物车里面增加物品数量的时候,可以在该回调里面计算所有物品的价格
     */
    ever(count, (callback) {
      print("用来监听数字的变化,--$count");
    });

     //只会在变量$第一次改变时才会被调用.
    once(count, (callback) {
      print("只会监听第一次数字的变化,--$count");
    });

    //每次用户停止输入1秒时间调用===>可以用来防止重复提交,
    debounce(count, (callback) {
      print("每次用户停止输入1秒时间调用,--$count");
    },time: Duration(microseconds: 1000));

     //每隔1秒输出一次 .
    interval(count, (callback) {
      print("忽略1秒内所有变化,--$count");
    },time: Duration(microseconds: 1000));


  }
}

步骤二:

调用

 //获取到自定义属性的那个VC(获取
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值