我有一个使用导航组件的活动和多个片段样式的应用程序。
我正在为我的 DI 使用 Koin。我想根据干净架构的假设在我的应用程序中创建一个导航器类。
这个假设的类看起来像:
class Navigator(private val navHostFragment: NavHostFragment)
{
fun toStudentsProfile():Unit
{
val action = HomeFragmentDirections.toStudentsProfile()
navHostFragment.findNavController().navigate(action)
}
fun toTeachersProfile():Unit
{
val action = HomeFragmentDirections.toTeachersProfile()
navHostFragment.findNavController().navigate(action)
}
}
我现在的问题是我应该如何在 Koin 容器下创建它?
val platformModule = module {
single { Navigator("WHAT CAN BE DONE HERE") }
single { Session(get()) }
single { CoroutineScope(Dispatchers.IO + Job()) }
}
此外,Koin 组件会在 navhostfragment 准备好之前准备好,因此它一开始就无法满足依赖关系。
有没有办法为 Koin 提供一个类的实例,然后开始使用它?