我有一个自定义的十进制格式管道,该管道使用 Angular 十进制管道反过来。该管道是共享模块的一部分。我在功能模块中使用它,并且在运行应用程序时没有提供程序错误。

如果有错字,请忽略。

./src/pipes/custom.pipe.ts

import { DecimalPipe } from '@angular/common';
..
@Pipe({
    name: 'customDecimalPipe'
})
...
export class CustomPipe {
constructor(public decimalPipe: DecimalPipe) {}
transform(value: any, format: any) {
    ...
}

./modules/shared.module.ts
import  { CustomPipe } from '../pipes/custom.pipe';

...

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

我将自定义管道注入(inject)组件之一,并调用transform方法以获取转换后的值。共享模块将导入到功能模块中。

最佳答案

如果要在组件中使用管道的transform()方法,则还需要将CustomPipe添加到模块的提供程序中:

import  { CustomPipe } from '../pipes/custom.pipe';

...

@NgModule({
  imports:      [ .. ],
  declarations: [ CustomPipe ],
  exports:    [ CustomPipe ],
  providers:    [ CustomPipe ]
})
export class SharedModule { }

关于angular - 没有为CustomPipe提供程序-angular 4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46299952/

10-11 00:02