美文网首页个人总结
Flutter GetX框架onClose不回调问题

Flutter GetX框架onClose不回调问题

作者: GrapeX | 来源:发表于2023-11-14 00:43 被阅读0次

纲要:

  • 结果

  • 过程

1. 结果

处理结果放在前,GetX版本问题,升级到最新版 4.6.6 即可

get: ^4.6.6

2. 过程

项目依赖 4.6.5 的 GetX 版本,发现返回页时候不会调用 GetxControlleronClose() 既是 Controller 没有被回收


void main() {

  runApp(GetMaterialApp(

    initialRoute: AppRouter.root,

    getPages: [

      GetPage(name: AppRouter.root, page: () => A()),

      GetPage(name: "/sec", page: () => const B()),

    ],

  ));

}

class A extends GetView<AVM> {

  const A({Key? key}) : super(key: key);

  @override

  Widget build(BuildContext context) {

    Get.put(AVM());

    return GestureDetector(onTap: (){Get.toNamed("/sec");}, child: Text("Hello"),);

  }

}

class B extends GetView<BVM> {

  const B({Key? key}) : super(key: key);

  @override

  Widget build(BuildContext context) {

    Get.put(BVM());

    return GestureDetector(onTap: (){Get.back();},child: Text("Back"),);

  }

}

class AVM extends GetxController{}

class BVM extends GetxController{

  @override

  void onClose() {

    super.onClose();

    print('onclose');

  }

}

  1. A 跳转 B

  2. B 返回 A,B 的 onClose 不回调

导致了我项目中的界面因为没有回收而复用了上次的数据

相关文章

网友评论

    本文标题:Flutter GetX框架onClose不回调问题

    本文链接:https://www.haomeiwen.com/subject/pmtjwdtx.html