Android 具有嵌套范围或子组件概念的Koin 2.0

Android 具有嵌套范围或子组件概念的Koin 2.0,android,dependency-injection,koin,koin-scope,Android,Dependency Injection,Koin,Koin Scope,有没有办法在Koin上实现Dagger的小型企业概念 我想做的事情是使用父作用域的实例 app_modules.kt val favoriteModule = module { scope(named<FavoriteFragment>()) { scoped { GetFavoriteMovies(get()) } scoped { FavoriteVMFactory(get(), get()) } // This need 'MovieEn

有没有办法在Koin上实现Dagger的小型企业概念

我想做的事情是使用父作用域的实例

app_modules.kt

val favoriteModule = module {
    scope(named<FavoriteFragment>()) {
        scoped { GetFavoriteMovies(get()) }
        scoped { FavoriteVMFactory(get(), get()) } // This need 'MovieEntityMovieMapper'
    }
}

val popularModule = module {
    scope(named<PopularFragment>()) {
        scoped { GetPopularMovies(get()) }
        scoped { PopularVMFactory(get(), get()) } // This need 'MovieEntityMovieMapper'
    }
}

val searchModule = module {
    scope(named<SearchFragment>()) {
        scoped { SearchMovies(get()) }
        scoped { SearchVMFactory(get(), get()) } // This need 'MovieEntityMovieMapper'
    }
}

val mainModule = module {
    scope(named<MainActivity>()) {
        scoped { MovieEntityMovieMapper() }
        // this ImageLoader also injected by Fragments
        scoped<ImageLoader> { (activity: Activity) -> GlideImageLoader(activity) }
    }
}
val-favoriteModule=模块{
作用域(命名为(){
作用域{GetFavoriteMovies(get())}
作用域为{FavoriteVMFactory(get(),get())}//这需要'MovieEntityMovieMapper'
}
}
val popularModule=模块{
作用域(命名为(){
作用域{GetPopularMovies(get())}
作用域为{PopularVMFactory(get(),get())}//需要“MovieEntityMovieMapper”
}
}
val searchModule=模块{
作用域(命名为(){
作用域{SearchMovies(get())}
作用域为{SearchVMFactory(get(),get())}//这需要'MovieEntityMovieMapper'
}
}
val main模块=模块{
作用域(命名为(){
作用域为{MovieEntityMovieMapper()}
//这个ImageLoader也由片段注入
作用域{(活动:活动)->GlideImageLoader(活动)}
}
}
使用Dagger,这可以通过子组件或组件依赖项来完成

但是在Koin(特别是2.0),我找不到路

有人回答说使用
GlobalContext.get().koin.getScope(“父”).get()

但我不认为这不是一种干净的方法和依赖注入。

你可以尝试一下,它的灵感来自Koin,但有子图,可以像Dagger的子组件一样使用。Winter已经在一些大型应用程序的生产中使用了好几年,安装量达数百万次。我希望可以在这里发布一个示例: 免责声明:我认识作者,自从他的库发布以来,我一直在使用它。到目前为止,根据我的经验,它是稳定的。

你可以尝试它,它的灵感来自Koin,但它有子图,可以像Dagger的子组件一样使用。Winter已经在一些大型应用程序的生产中使用了好几年,安装量达数百万次。我希望可以在这里发布一个示例: 免责声明:我认识作者,自从他的库发布以来,我一直在使用它。根据我的经验,到目前为止,它是稳定的