Koin 模块未解决的参考
Koin module unresolved reference
我有我所有的 classes,我想将它们注入 modules
class 中。
class modules {
val myModule = module {
MainActivityViewModel()
single { MyRepo() }
}
}
我有一个看起来像这样的 Application
class,它在清单中声明。
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// start Koin!
startKoin {
// declare used Android context
androidContext(this@MyApplication)
// declare modules
modules(listOf(myModule)) <------Here my module is unresolved(AS says unresolved reference)
}
}
}
我正在使用 Koin 版本 2.1.6
myModule
定义在 class modules
内部。如果没有此 class.
的实例,您将无法访问它
大多数人所做的是在 Application
class 声明下方将模块定义为全局变量。您可以将其设为 private
,这样就无法从文件中访问它。
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// start Koin!
startKoin {
// declare used Android context
androidContext(this@MyApplication)
// declare modules
modules(listOf(myModule))
}
}
}
// Optionally make it private
val myModule = module {
MainActivityViewModel()
single { MyRepo() }
}
现在您可以删除 class modules
。但是如果你真的需要这个 class 并且有目的地创建它,你可以创建这个 class 的实例并调用它的 myModule
变量:
modules(listOf(modules().myModule))
我有我所有的 classes,我想将它们注入 modules
class 中。
class modules {
val myModule = module {
MainActivityViewModel()
single { MyRepo() }
}
}
我有一个看起来像这样的 Application
class,它在清单中声明。
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// start Koin!
startKoin {
// declare used Android context
androidContext(this@MyApplication)
// declare modules
modules(listOf(myModule)) <------Here my module is unresolved(AS says unresolved reference)
}
}
}
我正在使用 Koin 版本 2.1.6
myModule
定义在 class modules
内部。如果没有此 class.
大多数人所做的是在 Application
class 声明下方将模块定义为全局变量。您可以将其设为 private
,这样就无法从文件中访问它。
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// start Koin!
startKoin {
// declare used Android context
androidContext(this@MyApplication)
// declare modules
modules(listOf(myModule))
}
}
}
// Optionally make it private
val myModule = module {
MainActivityViewModel()
single { MyRepo() }
}
现在您可以删除 class modules
。但是如果你真的需要这个 class 并且有目的地创建它,你可以创建这个 class 的实例并调用它的 myModule
变量:
modules(listOf(modules().myModule))