2016-04-23 38 views
1

一般來說,在一個分量接口,我們設置...混淆關於相關性集合到組件接口dagger2

@Component(dependencies = xxxComponent.class) 

...這意味着該組件A取決於組件B

但是,如果我們把它像...

@Component(dependencies = xxxModule.class) 

..是它同來設置它像下面?

@Component(modules = xxxModule.class) 

如果是不同的,就是這兩種方式之間的區別?

的代碼是這樣的:

Component接口: enter image description here

模塊: enter image description here

回答

0

我不知道你要完成的任務。設置@Component(dependencies=...)Component Dependencies。組件不能依賴於模塊,而只能在其他組件上使用。我不確定是否(或爲什麼)這將甚至編譯,如果您要將模塊添加到組件依賴項的列表中。

組件由多個模塊組成,這就是爲什麼需要@Component(modules=...)語法。它允許您聲明此組件使用的模塊。這是添加組件所需模塊的正確方法。

所以,如果你依賴另一個組件,使用dependencies=Component,但如果你使用模塊只是正確地聲明它們爲模塊。這兩個屬性肯定是不一樣的。

+0

嗨,大衛,我正在閱讀別人的代碼,我上傳了關於代碼細節的圖片,它肯定運行良好,但我不知道爲什麼...... –