首页 > 解决方案 > 使用 Koin 注入变量更改值

问题描述

我需要为我的单个 Koin 变量分配一个新值,但 Koin 不允许在注入的变量上使用 var ...

private val userAssets: UserAssets by inject()

如何在 userAssets 上设置值?或者还有其他事情要做来制作 UserAssets Singleton?

val dataModule = module {
    factory {
        RetrofitBuilder(
            androidContext()
        )
    }
    single { LoginCredential() }
    single { UserAssets() }
}

标签: kotlinkoin

解决方案


我个人不使用 Koin,所以无法验证,不过 Koin 也提供了一种直接用get(). 所以在你的情况下:

private var userAssets: UserAssets = get()

可能会起作用,因此您以后可以重新分配它,至少这是我从他们的文档中了解到的。


推荐阅读