在子模块中发出相同的管道组件声明

时间:2016-09-29 16:28:23

标签: angular typescript import

我想在父模块中声明管道并在子模块中使用它。

@NgModule({
  // Pipe which I want to declare in all child modules
  declarations: [ ThisIsPipe ],
  imports: [ ChildModuleOne, ChildModuleTwo],  
})

我如何使用It子模块?

因为如果我宣布两次我就会收到错误

  

未捕获错误:类型ThisIsPipe是2个模块声明的一部分:ChildModuleOne和ChildModuleTwo!   请考虑将ThisIsPipe移动到导入ChildModuleOne和ChildModuleTwo的更高模块。   您还可以创建一个导出和包含的新NgModule   然后,ThisIsPipe在ChildModuleOne和ChildModuleTwo中导入NgModule。

2 个答案:

答案 0 :(得分:7)

您需要创建另一个放置管道的模块,然后将该模块导入要使用该管道的位置。

一个指令,组件或管道总是只能属于一个NgModule,但是这个NgModule可以根据需要导入到任意数量的模块中。

答案 1 :(得分:-1)

作为Günter Zöchbauer回答, 在此处查找示例

Angular 2 - Pipe reuse in multiple modules - error not found or duplicate definition