我有一个自定义的十进制格式管道,该管道使用 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/