Hi, I’m using Koin 3.2.0 in a KMM project, with Je...
# koin
s
Hi, I’m using Koin 3.2.0 in a KMM project, with Jetpack Compose on Android. I’m trying to get a new instance of my view model (
PageViewModel
) 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_:
Copy code
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:
Copy code
class SharedPageViewModel(val date: LocalDate)

val sharedModule = module {
	factoryOf(::SharedPageViewModel)
}
a
interesting 🤔 there is a remeber on the injected param, it should allow regenerate a new VM if we need
s
Hmm, that’s what I was thinking, but I’m not exactly sure what’s going wrong there