回答

3

您可以使用shared Module負責共享common components, pipes and directives
請注意它只是一個使用sharedModule or coreModule的命名約定,但您可以使用任何其他模塊名稱eg xyzModule。導入的事情是,確保共同的東西都內export array

import { NgModule }   from '@angular/core'; 
import { CommonModule }  from '@angular/common'; 

import { CustomComponent} from 'path'; 
import { CustomPipe}  from 'path'; 
import { CustomDirective} from 'path'; 

@NgModule({ 
    imports:  [ CommonModule ], 
    declarations: [ CustomComponent, CustomPipe, CustomDirective], 
    exports:  [ CustomComponent, CustomPipe, CustomDirective] 
}) 
export class SharedModule { } 

宣佈使用它在應用程序/根模塊或任何其他一個或多個這樣的懶加載功能模塊,

的AppModule還是讓我們說ClientModule

import {SharedModule } from 'path' 

@NgModule({ 

    imports: [..., sharedModule] 

}) 
+0

你能不能也請提的是,相關項目應該被添加到出口陣列的任何其他模塊?另外,它不一定必須是共享模塊,我相信它可以來自任何模塊的exports數組。請在答案中添加這些信息,以便我可以將其標記爲答案。 –

+0

從邏輯上說,你可以從任何模塊(例如, xyzModule'。但是它的命名約定是由AngularTeam提供的,所以我建議你使用sharedModule,而不是那麼混亂。 – micronyks

+0

雖然...已更新的答案... – micronyks

0

只需要確保相關項目都在你的模塊出口線

exports:  [ CustomComponent, CustomPipe, CustomDirective] 

然後實現該模塊將有機會獲得這些東西