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);
 }

}
Другие вопросы по тегам