Angular 2 - Как использовать встроенную трубу внутри нестандартной трубы
Я хочу сделать собственную валютную трубу, используя встроенную валютную трубу. То, как я хочу использовать это {{ anyNumber | customCurrency }}.
Затем в моей трубе customCurrency я хочу использовать встроенную валютную трубу. Я могу выбрать параметры для валютной трубы на основе некоторой логики и не хочу указывать локаль и другие параметры везде, например {{anyNumber | currency:'USD':false:'1:0-0'}}
,
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'customCurrency'
})
export class CustomCurrencyPipe implements PipeTransform {
transform(value: any, args?: any): any {
const defaultLocale = 'USD';
const showSymbol = false;
......some logic here......
//HOW TO USE CURRENCY PIPE HERE?
}
}
1 ответ
Вы должны внедрить встроенный канал в свой пользовательский канал, чем вызывать метод transform со значениями по умолчанию
@Pipe({
name: 'customCurrency'
})
export class CustomCurrencyPipe implements PipeTransform {
constructor(public currencyPipe: CurrencyPipe) {
}
transform(value: any, args?: any): any {
const currencyCode = 'USD';
const showSymbol = false;
return currencyPipe.transform(value, currencyCode, showSymbol);
}
}