我正在使用Koin将viewModel注入片段。我的应用是单项活动。我仅在servisFragment和partFragment中需要该sharedViewModel。 我想在导航后用红色标记清除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) }
谢谢您的帮助。
答案 0 :(得分:2)
如果您需要清除viewModels
中的所有Fragment
,请在您的Fragment
中尝试
viewModelStore.clear()
如果您需要清除具体的ViewModel
,请尝试
getViewModelStore(ViewModelParameters(...)).clear()