myModule
определяется внутри class modules
. Вы не можете получить к нему доступ без экземпляра этого класса.
Большинство людей определяют модули прямо под объявлением класса Application
как глобальную переменную. Вы можете сделать его 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
. Но если вам действительно нужен этот класс и вы создали его с определенной целью, вы можете создать экземпляр этого класса и вызвать его myModule
переменную:
modules(listOf(modules().myModule))