我想在自定义管道上调用numberPipe,我找到了这个答案
Angular2 use basic pipe in custom pipe
但我这个解决方案对我不起作用。我有一个错误 “无法找到管道'bigInteger'”
import { Pipe, PipeTransform } from "@angular/core"
import { CurrencyPipe } from "@angular/common"
@Pipe({
name: "bigInteger"
})
export class BigInteger extends CurrencyPipe implements PipeTransform {
transform(value: any): string {
return value
}
}
答案 0 :(得分:5)
<强>更新强>
至少在Angular4中应该修复一段时间
<强>原始强>
DI和已扩展其他类的类有一个已知问题
https://github.com/angular/angular/issues/8694
使用此功能已修复,您可以使用合成而不是继承:
@Pipe({
name: "bigInteger"
})
export class BigInteger implements PipeTransform {
constructor(private currencyPipe:CurrencyPipe) {}
transform(value: any): string {
return this.currencyPipe.transform(value);
}
}
答案 1 :(得分:4)
可能已过时,但这对我有用( Angular 5 ):
import { Pipe, PipeTransform } from '@angular/core';
import { DecimalPipe } from '@angular/common'
@Pipe({
name: 'bigInteger'
})
export class BigInteger extends DecimalPipe implements PipeTransform {
transform(value: any, args?: any): any {
let result;
result = super.transform(value, args);
//any transformations you need
return result;
}
}
然后,您就像使用常规的 number 管道一样使用它,但是可以根据需要进行自定义:
<span>{{someValue | bigInteger : '1.2-2'}}</span>