Android Koin DI-ViewModel注入

时间:2020-07-23 08:45:56

标签: android dependency-injection koin

有人解决过用Koin注入ViewModel吗?

我正在使用

    def koin_version = "2.1.0"
    implementation "org.koin:koin-core:$koin_version"
    // Testing
    androidTestImplementation "org.koin:koin-test:$koin_version"

我正在尝试通过Koin注入ViewModel。

我有一个空的ViewModel:

class AuthViewModel
constructor(
    val authRepository: AuthRepository
) : ViewModel()
{


}

我的koin模块如下所示:

val authModule = module {
    viewModel { AuthViewModel(get()) }
}

但是无法识别authModule中的关键字viewModel,也没有Koin导入。

我尝试手动导入:

import org.koin.android.viewmodel.ext.android.viewModel
import org.koin.androidx.viewmodel.ext.android.viewModel
import org.koin.java.architecture.ext.viewModel

但是这些进口也无法识别。

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:1)

为此,我认为您将需要

implementation "org.koin:koin-androidx-viewmodel:$koin_version"

在我的游乐场项目中,我将其配置如下:

implementation 'org.koin:koin-android:2.0.1'
implementation 'org.koin:koin-androidx-scope:2.0.1'
implementation 'org.koin:koin-androidx-viewmodel:2.0.1'