使组件,指令和管道公共,并在模块外部使用

时间:2017-08-27 11:59:16

标签: angular angular-directive angular-components angular-pipe

如何公开组件,指令和管道? 这是因为当我将它们添加到模块中的声明数组时,它们在声明它们的模块中的任何地方都可见,并且对模块是私有的。如果我要在模块之外使用应该做什么。

2 个答案:

答案 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]

然后,实现该模块的任何其他模块都可以访问这些内容