abbic
02/22/2023, 1:36 PMval router by inject<RouterViewModel>()
but its a compilation errorPedro Alberto
02/22/2023, 2:50 PMval router: RouterViewModel by viewModel()
abbic
02/22/2023, 2:50 PMPedro Alberto
02/22/2023, 2:51 PMabbic
02/22/2023, 2:51 PMPedro Alberto
02/22/2023, 2:51 PMabbic
02/22/2023, 2:51 PMPedro Alberto
02/22/2023, 2:53 PMabbic
02/22/2023, 2:53 PMPedro Alberto
02/22/2023, 2:53 PM@Composable
fun ViewModelInject(userName : String, viewModel: UserViewModel = koinViewModel()){
Text(text = viewModel.sayHello(userName), modifier = Modifier.padding(8.dp))
}
abbic
02/22/2023, 2:55 PM@Composable
fun FactoryInject(userName : String, presenter: UserStateHolder = get()){
Text(text = presenter.sayHello(userName), modifier = Modifier.padding(8.dp))
}
Pedro Alberto
02/22/2023, 2:56 PMabbic
02/22/2023, 2:57 PM@Composable
@Preview
fun App() {
val router by inject<RouterViewModel>(RouterViewModel::class.java)
val routerState: Backstack<AppRoutes> by router.observeStates().collectAsState()
routerState.renderCurrentDestination(
route = {
appRoute ->
when(appRoute) {
AppRoutes.Home -> {
HomeScreen()
}
}
},
notFound = {}
)
}
fun main() = application {
startKoin {
modules(appModule)
}
Window(onCloseRequest = ::exitApplication) {
App()
}
}
Pedro Alberto
02/22/2023, 3:00 PM