1.2 KiB
1.2 KiB
Koin integration
!!! success
To use the getScreenModel you should first import cafe.adriel.voyager:voyager-koin (see Setup).
!!! warning
Since 1.1.0-alpha04 we have rename the getScreenModel to koinScreenModel, this is a change to follow Koin Compose naming schema. The previous getScreenModel is deprecated and will be removed on 1.1.0
Declare your ScreenModels using the factory component.
val homeModule = module {
factory { HomeScreenModel() }
}
Call getScreenModel() to get a new instance.
class HomeScreen : Screen {
@Composable
override fun Content() {
val screenModel = getScreenModel<HomeScreenModel>()
// ...
}
}
Sample
!!! info Sample code here.
Navigator scoped ScreenModel
class HomeScreen : Screen {
@Composable
override fun Content() {
val navigator = LocalNavigator.currentOrThrow
val screenModel = navigator.getNavigatorScreenModel<HomeScreenModel>()
// ...
}
}