在:app 模块中
@Singleton
@Component(modules = [AppModule::class])
interface AppComponent {
@Component.Factory
interface Factory {
fun create(@BindsInstance context: Context): AppComponent
}
}
@Module
class AppModule {
@Singleton
@Provides
fun provideA() = A()
}
在动态功能模块中
@Component(
dependencies = [AppComponent::class],
modules = [FeatureModule::class]
)
interface FeatureComponent{
@Component.Factory
interface Factory {
fun create(appComponent: AppComponent): FeatureComponent
}
fun inject(fragment: HomeFragment)
}
@Module
class FeatureModule {
}
在 HomeFragment 或 HomeViewModel 中,我无法注入对象 A(在 AppComponent 中的 AppModule 中提供)。 如何解决?
谢谢。