Seb Jachec
05/30/2022, 10:18 AMPageViewModel
) based on a parameter, but instead I’m getting the same instance no matter what parameter is provided. Has anyone got any pointers?
Simplified/shortened some code as an example:
_Android_:
class PageViewModel(val sharedViewModel: SharedPageViewModel): ViewModel() {}
@Component
fun ScreenContent(...) {
// ...
LazyRow(...) {
items(...) { PageContent(date = it) }
}
}
@Composable
fun PageContent(
date: LocalDate,
viewModel: PageViewModel = getViewModel(parameters = { parametersOf(date) })
) {
val viewModel: PageViewModel = getViewModel<AndroidViewModel>(parameters = { parametersOf(date) })
}
val androidModule = module {
viewModel { params -> PageViewModel(get { params }) }
}
Common/shared:
class SharedPageViewModel(val date: LocalDate)
val sharedModule = module {
factoryOf(::SharedPageViewModel)
}
arnaud.giuliani
05/30/2022, 2:18 PMSeb Jachec
05/31/2022, 9:41 AM