Koin 使用版本:2.1.0-alpha-8
我有一个托管两个 Fragments 1)FirstFragment和 2)的 FeatureActivitySecondFragment
我的模块看起来像这样
val featureModule = module {
scope<FeatureActivity> {
// FeatureDao
scoped {
val appDatabase: AppDatabase = get()
appDatabase.featureDao()
}
scope(named(FirstFragment.SCOPE_ID)) {
scoped { FirstFragmentRepository(get()) }
viewModel { FirstFragmentViewModel(get()) } // needs FeatureDao
scoped { FirstFragmentAdapter(get()) }
}
scope(named(SecondFragment.SCOPE_ID)) {
scoped { SecondFragmentRepository(get()) }
viewModel { SecondFragmentViewModel(get()) } // needs FeatureDao
scoped { SecondFragmentAdapter(get()) }
}
}
Run Code Online (Sandbox Code Playgroud)
对于范围,我想限制对 等 的访问FirstFragmentRepository仅对FirstFragmentViewModelFirstFragment 以及SecondFragmentRepository对SecondFragmentViewModel等的访问仅对 SecondFragment 。 …