Kotlin 使用Koin注入变量更改值
我需要给我的单个Koin变量分配一个新值,但是Koin不允许在注入的变量上使用varKotlin 使用Koin注入变量更改值,kotlin,koin,Kotlin,Koin,我需要给我的单个Koin变量分配一个新值,但是Koin不允许在注入的变量上使用var private val userAssets: UserAssets by inject() 如何设置用户资产的价值? 还是要做另一件事来使UserAssets成为单例 val dataModule = module { factory { RetrofitBuilder( androidContext() ) } single
private val userAssets: UserAssets by inject()
如何设置用户资产的价值?
还是要做另一件事来使UserAssets成为单例
val dataModule = module {
factory {
RetrofitBuilder(
androidContext()
)
}
single { LoginCredential() }
single { UserAssets() }
}
我个人不使用Koin,所以我无法验证它,但Koin还提供了一种使用get直接检索实例的方法。因此,在你的情况下:
private var userAssets: UserAssets = get()
可能会起作用,因此您以后可以重新分配它,至少这是我从他们那里了解到的。您好,您可以尝试声明注入参数,这里是 在模块中,您可以编写:
single { value : String -> UserAssets(value) }
那么你应该可以使用inject
val userAssets : UserAssets by inject { parametersOf("value") }