Angular 2 - 货币格式在Firefox中不起作用。 (V24)

时间:2016-12-07 15:25:27

标签: angular

我刚接触到angular2。尝试使用angular实现一些基本的东西。

使用内置角度货币格式化程序时出错。 我知道有些API在最新版本的angular2中更新,因此格式化程序不适用于某些浏览器。 在Chrome中,一切正常。

使用内置格式化程序: -

<span class="badge">{{product.price | currency}}</span>

作为我使用自定义格式化程序实现的解决方法,我也遇到了同样的问题

import { Pipe, PipeTransform } from '@angular/core';
import { CurrencyPipe } from '@angular/common';

@Pipe({
  name: 'customCurrencyFormatter'
})

export class CustomCurrencyFormatter implements PipeTransform {

  transform(value: number, currencyCode: string = 'BRL', symbolDisplay: boolean = true, digits?: string): string {
    if (!value) {
      return '';
    }

    let currencyPipe: CurrencyPipe = new CurrencyPipe('pt-BR');
    let newValue: string = currencyPipe.transform(value, currencyCode, symbolDisplay, digits);

    return newValue;
  }

}

用法: -

<span class="badge">{{product.price | customCurrencyFormatter}}</span> 

附上以下截图。请帮帮我。

提前致谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

日期和货币管道需要ECMAScript国际化API。 Safari和其他旧版浏览器不支持它。我们可以使用polyfill添加支持。

<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>

在html页面中包含此脚本。