考虑我有以下对象图:
- 名为
AppComponent
的组件的作用域为@AppScope
(等效于@Singleton
( - 名为
SessionComponent
的子组件的作用域为@SessionScope
,它是AppComponent
的子组件
SessionComponent
依赖项在每次会话启动时都会被创建(注入(。
是否可以将@SessionScope
依赖项(在SessionComponent
处提供(注入到@AppScope
依赖项(AppComponent
处提供(中?
反之亦然,如Component
文档中所述:
将两个组件关联起来的最简单方法是声明一个
Subcomponent
。子组件的行为与组件完全相似,但其实现是在父组件或子组件中生成的。该关系允许子组件实现在声明时从其父继承整个绑定图。
我发现在编程上可以使用这种方法,但是否可以只使用Dagger API?
不,你不能:
安装到组件中的绑定无法从其子组件中看到绑定。相反,情况正好相反:子组件中的绑定可以依赖于父组件中的捆绑。
如您链接中的回答所述。