是否可以将子组件依赖项注入父组件



考虑我有以下对象图:

  • 名为AppComponent的组件的作用域为@AppScope(等效于@Singleton(
  • 名为SessionComponent的子组件的作用域为@SessionScope,它是AppComponent的子组件

SessionComponent依赖项在每次会话启动时都会被创建(注入(。

是否可以将@SessionScope依赖项(在SessionComponent处提供(注入到@AppScope依赖项(AppComponent处提供(中?

反之亦然,如Component文档中所述:

将两个组件关联起来的最简单方法是声明一个Subcomponent。子组件的行为与组件完全相似,但其实现是在父组件或子组件中生成的。该关系允许子组件实现在声明时从其父继承整个绑定图。

我发现在编程上可以使用这种方法,但是否可以只使用Dagger API?

不,你不能:

安装到组件中的绑定无法从其子组件中看到绑定。相反,情况正好相反:子组件中的绑定可以依赖于父组件中的捆绑。

如您链接中的回答所述。