android - 清除 sharedViewModel
问题描述
我正在使用 Koin 将 viewModel 注入片段。我的应用程序是单一活动。我只需要在 servisFragment 和 partFragment 中使用 sharedViewModel。我想在标记为红色的导航后从 Activity 中清除该 viewModel。
我怎样才能做到这一点?
注入viewModel的代码
private val servisViewModel by sharedViewModel<ServisViewModel>()
Koin sharedViewModel
inline fun <reified T : ViewModel> Fragment.sharedViewModel(
name: String? = null,
noinline from: ViewModelStoreOwnerDefinition = { activity as
ViewModelStoreOwner },
noinline parameters: ParametersDefinition? = null
) = lazy { getSharedViewModel<T>(name, from, parameters) }
感谢您的任何帮助。
解决方案
如果您需要清除所有viewModels
内容,Fragment
请尝试在您的Fragment
viewModelStore.clear()
如果你需要清除混凝土ViewModel
试试这个
getViewModelStore(ViewModelParameters(...)).clear()
推荐阅读
- javascript - bootsrap 将下拉菜单代码更改为过于复杂的内容
- blazor - 自定义范围输入在 Blazor 上传递到默认值
- matlab - 保存每 300 毫秒重复一次的样本
- node.js - 哪个是 Azure 上 node.js 电报机器人的最佳托管解决方案?
- powershell - 如何在 Powershell 中转换 UTC 日期时间字符串
- angularjs - 为什么 angularjs 网站可以在桌面上运行,但不能在移动设备上运行?
- python - 如何在 Redis 中保存复杂的数据结构?
- go - 在 golang 中的 aerospike GET "read tcp *.*.*.*:39068-> *.*.*.*:3000: i/o timeout" 期间出现错误
- xamarin - 使用 MvvmCross Binding Xamarin.iOS 中的标志从 SuperView 中删除视图
- logstash - Logstash:根据某些条件重命名嵌套字段