我有 pipe

@Pipe({name: 'keys'})
export class KeysPipe implements PipeTransform {
  transform(value, args:string[]) : any {
  .....
    return keys;
  }
}

我有两个模块需要在其中使用。如果我在两个模块中都执行了这样的操作,则会收到一条错误消息,提示“两个模块声明了KeysPipe”

模块1,模块2:
declarations: [KeysPipe],

然后,我尝试通过其自己的模块导出KeysPipe,以便将其导入到需要使用它的两个模块中
@NgModule({
    declarations: [ KeysPipe],
})
export class KeysPipeModule {
}

现在,我需要使用KeysPipe的两个模块中导入KeysPipeModule

模块1,模块2:
imports: [KeysPipeModule],

但是现在我收到另一个模板错误,指出找不到管道“找不到管道'键'(“v * ngIf =” docalc“>”

最佳答案

您在正确的轨道上,唯一缺少的代码就是KeysPipeModule中的export。它应该是这样的:

@NgModule({
    declarations: [ KeysPipe],
    exports: [KeysPipe]
})
export class KeysPipeModule {}

09-30 23:23