我有一个 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 感兴趣,感谢您查看这个问题:)
答案 0 :(得分:0)
您的控制器 B 是否正被任何其他页面/控制器使用?如果是这样,这是预期的行为。 此外,您不应手动调用生命周期方法(onInit、onClose)。