首页 > 解决方案 > 每次如何在koin中创建viewModel的新实例

问题描述

在我的项目中使用Koin作为依赖注入模式,每当我加载片段/活动时,我都需要创建新实例,现在使用以下模式,任何解决方案都可以节省大量时间。

private val homeViewModel: HomeViewModel by viewModel()

标签: androidmvvmviewmodelkoin

解决方案


问题是为什么你每次都想要新的实例?的整个概念ViewModel是保留相同的实例和数据。viewModel {}每次注入时都会创建新实例,除非它没有共享。

不知道为什么它不适合你,但我认为你可以使用factory{} 而不是viewModel{}.

factory{
    // this is because you need new instance everytime.
    HomeViewModel()
}

推荐阅读