2017-08-14 97 views
3

我有一個導出組件的模塊以將其公開給其他模塊,我想在另一個模塊的子模塊中使用此組件,我導入第一個模塊父模塊以便在子模塊內部使用,但是,我並不完全相信這是實現它的最佳方式。在子模塊中使用導入模塊中的組件

這是與組件根文件夾我的共享模塊,我想用:

應用程序/共享/ shared.module.ts

import {dtComponent} from './dt.component'; 

@NgModule({ 
    imports: [ 
    CommonModule 
    ], 
    exports: [ 
    dtComponent 
    ], 
    declarations: [ 
    dtComponent 
    ] 
}) 
export class DatePModule{ } 

我在app文件夾另一個模塊該進口DatePModule這樣的:

應用程序/聯繫人/ contacts.module.ts

import {DatePModule} from '../shared/shared.module.ts'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    DatePModule 
    ] 
}) 
export class CTModule{ } 

我需要的一些組件使用dtComponent直接CTModule,還需要在在CTModule的子模塊等組件此組件。

我能做到這一點再次導入DatePModule CTModule內的子模塊,但我不相信這是最好的辦法。

應用程序/聯繫人/其它/ other.module.ts

import {DatePModule} from '../../shared/shared.module.ts'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    DatePModule 
    ] 
}) 
export class OtherModule{ } 

我的問題是,爲什麼我需要的,如果在父模塊已被導入再次DatePModule導入?如果我在刪除此導入其他模塊組件dtComponent未被識別爲模塊的一部分。

+0

你使用懶加載? –

+0

@Maximus是的我使用延遲加載來加載所有模塊和組件 – xzegga

+0

好吧,我的答案仍然是相關的,共享和惰性加載模塊將合併,並在合併過程中解決封裝 –

回答