未调用 GetxController onClose

时间:2021-05-07 18:03:45

标签: flutter flutter-getx

我有一个 getx 控制器 A,它具有另一个控制器 B 的属性。但是当我删除控制器 A 时,A 的 onClose() 被调用,而 B 的 onClose 不是。

// Controller A  
@override
  void onClose() {
    print('close A');
    B.dispose();
    super.onClose();
  }
  //Controller B
  @override
  void onClose() {
    print('close B');
    animationController.dispose();
    super.onClose();
  }

直到我添加这一行

 @override
  void onClose() {
    B.onClose();
    B.dispose();
    super.onClose();
  }

我最近对 ​​Getx 感兴趣,感谢您查看这个问题:)

1 个答案:

答案 0 :(得分:0)

您的控制器 B 是否正被任何其他页面/控制器使用?如果是这样,这是预期的行为。 此外,您不应手动调用生命周期方法(onInitonClose)。