如何公开组件,指令和管道? 这是因为当我将它们添加到模块中的声明数组时,它们在声明它们的模块中的任何地方都可见,并且对模块是私有的。如果我要在模块之外使用应该做什么。
答案 0 :(得分: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 { }
在App / Root Module或任何其他功能或延迟加载的功能模块中使用它,
AppModule 或者说 ClientModule
import {SharedModule } from 'path'
@NgModule({
imports: [..., sharedModule]
})
答案 1 :(得分:0)
只需要确保相关项目在您的模块的导出行
中 exports: [ CustomComponent, CustomPipe, CustomDirective]
然后,实现该模块的任何其他模块都可以访问这些内容