Android ViewModel¶
class PostListScreen : Screen {
    @Composable
    override fun Content() {
        val viewModel = viewModel<PostListViewModel>()
        // ...
    }
}
By default Voyager provides its own LocalViewModelStoreOwner and LocalSavedStateRegistryOwner, that way you can safely create ViewModels without depending on Activity or Fragment.
Info
Voyager provides a similar implementation, the ScreenModel, which does the same as ViewModel but also works with Compose Multiplatform.
Sample¶

Info
Source code here.