Android Koin:在不同模块定义之间传递属性
正在测试以下代码。为简洁起见:Android Koin:在不同模块定义之间传递属性,android,kotlin,koin,Android,Kotlin,Koin,正在测试以下代码。为简洁起见: Class ActivityA { Val aViewModel: AViewModel by viewModel() Fun onCreate(){ val id = …. getKoin().setProperty(“id’”, id) loadKoinModules(aModule) } } 在my modules.kt
Class ActivityA {
Val aViewModel: AViewModel by viewModel()
Fun onCreate(){
val id = ….
getKoin().setProperty(“id’”, id)
loadKoinModules(aModule)
}
}
在my modules.kt定义中:
Val aModule = modules {
viewModel { AViewModel(getProperty(“id”))} //works
}
//For ActivityB
Val bModule = modules {
viewModel { BViewModel(getProperty(“id”)} // Caused by: org.koin.core.error.MissingPropertyException: Property 'Id' not found
}
为什么在尝试创建BViewModel实例时会出现此错误。我本以为getKoin()就是检索到的同一个Koin实例。但它似乎只在加载的相同模块定义中起作用。我无法获取模块B的属性“id”。我必须在ActivityA的ActivityB的onCreate()中执行相同的操作
如果您对此有任何解释或链接,我们将不胜感激,或者我是否必须使用类似Koins的Scope功能
非常感谢