首页 > 解决方案 > 清除 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) }

感谢您的任何帮助。

标签: androidkotlinandroid-jetpackandroid-viewmodelkoin

解决方案


如果您需要清除所有viewModels内容,Fragment请尝试在您的Fragment

viewModelStore.clear()

如果你需要清除混凝土ViewModel 试试这个

getViewModelStore(ViewModelParameters(...)).clear()

推荐阅读