Ankit Kumar
01/16/2024, 4:05 PMarnaud.giuliani
01/16/2024, 4:24 PMAnkit Kumar
01/16/2024, 4:51 PMviewModel { LoginViewModel(savedStateHandle = get(), get()) }Pedro Francisco de Sousa Neto
01/16/2024, 4:59 PMviewModel { LoginViewModel() }
Right @arnaud.giuliani?arnaud.giuliani
01/16/2024, 5:00 PMviewModel { LoginViewModel(savedStateHandle = get(), get()) }arnaud.giuliani
01/16/2024, 5:01 PMAnkit Kumar
01/16/2024, 5:01 PMval viewModel: LoginViewModel = getViewModel()Ankit Kumar
01/16/2024, 5:01 PMarnaud.giuliani
01/16/2024, 5:03 PMAnkit Kumar
01/16/2024, 5:03 PMarnaud.giuliani
01/16/2024, 5:04 PMkoinViewModel instead of getViewModel but should'n change mucharnaud.giuliani
01/16/2024, 5:04 PMAnkit Kumar
01/16/2024, 5:05 PMAnkit Kumar
01/16/2024, 5:06 PMorg.koin.core.error.NoBeanDefFoundException: |- No definition found for class:'androidx.lifecycle.SavedStateHandle'. Check your definitions!Ankit Kumar
01/16/2024, 5:07 PMkoinViewModel ,if I see correctly internally it is using getViewModel onlyarnaud.giuliani
01/16/2024, 5:09 PMAnkit Kumar
01/16/2024, 8:21 PM@OptIn(KoinInternalApi::class)
@Composable
inline fun <reified T : ViewModel> NavController.getViewModel(
qualifier: Qualifier? = null,
owner: ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) {
"No ViewModelStoreOwner was provided via LocalViewModelStoreOwner"
},
scope: Scope = GlobalContext.get().scopeRegistry.rootScope,
noinline parameters: ParametersDefinition? = null
): T {
val params = remember(parameters) {
parameters?.invoke()?.values?.toTypedArray()
}
val savedStateHandle = currentBackStackEntry?.savedStateHandle
return org.koin.androidx.compose.getViewModel(
qualifier = qualifier,
owner = owner,
scope = scope,
parameters = {
if (params != null) {
parametersOf(
savedStateHandle,
*params
)
} else {
parametersOf(savedStateHandle)
}
}
)
}arnaud.giuliani
01/17/2024, 1:29 PMkoinNavViewModel is doing the same I believe 🤔Ankit Kumar
01/17/2024, 2:07 PMkoinNavViewModel anywhere even in koin doc
or is there any another dependency I need?