InsertKoinIO / koin

Koin - a pragmatic lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
https://insert-koin.io
Apache License 2.0
8.77k stars 695 forks source link

Fix ViewModel key generation + Fix ViewModel scope handling #1809

Closed arnaudgiuliani closed 3 months ago

arnaudgiuliani commented 3 months ago
module {
    viewModelOf(::MyScopeViewModel)
    scope<MyScopeViewModel> {
        scopedOf(::Session)
    }    
}

class MyScopeViewModel : ScopeViewModel() {

    // on onCleared, scope is closed

    // injected from current MyScopeViewModel's scope
    val session by scope.inject<Session>()

}

Fix #1750