3

我想使用内置货币管道制作自定义货币管道。我想使用的方式是{{ 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?

 }

}
4

1 回答 1

-2

您应该将内置管道注入自定义管道,而不是使用默认值调用它的转换方法

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

}
于 2017-02-15T18:54:43.733 回答