背景
- 我的页面数据全来自 GetxController ,每次进入时需要重置数据,但 GetX 似乎把 GetxController 保留了,下次在进入页面直接复用了之前的数据,导致数据混乱
尝试
- 一下调用均不能销毁 GetxController 的引用,下次进来还是会获得之前的 GetxController
代码语言:javascript
复制 @override
void dispose() {
super.dispose();
// _viewModel 继承自 GetxController
// 以下方法都不行
_viewModel.dispose();
_viewModel.onClose();
Get.delete(tag: widget.tag, force: true);
}
解决
代码语言:javascript
复制// 通过 Get.put(tag: widget.tag, contrller); 添加 Controller
_viewModel = Get.put(tag: widget.tag, QuickCalculationPracticeViewModel(model, questionCount));
- 在 dispose 中使用 GetInstance().delete() 移除
代码语言:javascript
复制 @override
void dispose() {
GetInstance().delete<QuickCalculationPracticeViewModel>(tag: widget.tag);
super.dispose();
}
- 参考链接:https://www.coder.work/article/7440554