kotlin - 使用 Koin 注入变量更改值
问题描述
我需要为我的单个 Koin 变量分配一个新值,但 Koin 不允许在注入的变量上使用 var ...
private val userAssets: UserAssets by inject()
如何在 userAssets 上设置值?或者还有其他事情要做来制作 UserAssets Singleton?
val dataModule = module {
factory {
RetrofitBuilder(
androidContext()
)
}
single { LoginCredential() }
single { UserAssets() }
}
解决方案
我个人不使用 Koin,所以无法验证,不过 Koin 也提供了一种直接用get()
. 所以在你的情况下:
private var userAssets: UserAssets = get()
可能会起作用,因此您以后可以重新分配它,至少这是我从他们的文档中了解到的。
推荐阅读
- java - hasNextLine() 在 While 循环中总是返回 true
- java - 为什么我可以声明一个泛型数组但不能初始化它?
- c# - 如何在.net核心中手动抛出`DbUpdateConcurrencyException`?
- javascript - 不可点击的按钮
- amazon-web-services - 在 AWS Device Farm 完成运行时获取通知
- javascript - 类似于 % like for sql, in javascript
- android - 包含 Room-library 会增加应用程序下载大小(~10mb)
- python - 查找任何给定数字的第 n 个数字
- r - 在 R 中看到 left_join 出现意外错误
- java - Is there a a way I can store information with Java without requiring a dedicated server?