5

我已经成功地在我的 angularJs(1.x) 应用程序中使用 Numeral.js 库以不同格式格式化我的数字。这就是我使用 angular1 过滤器的方式:

过滤器.js

.filter('numeral', function () {
  return function (count) {
    var numericalFormat = numeral(count).format('0.0a');
    return numericalFormat;
  };
})

为此,我遵循了Numeral.js 的官方文档 并使用 npm 安装。我还在 index.html 中引用了 nodemodules。

在浏览器中

<script src="node_modules/numeral/numeral.min.js"></script>

但它显示

错误 ReferenceError:数字未在 NumeralFilter.transform 中定义

最初我尝试使用 CDN 参考,它在浏览器中按预期工作。但是当我在真实设备上安装应用程序时,我收到一个错误“未定义数字”。

管道

import {Pipe,PipeTransform,Injectable} from "@angular/core"
@Pipe({
name:'numeralPipe'
})
@Injectable()
export class NumeralPipe implements PipeTransform{
    transform(count:any):any{ //eg: in count has value something like 52456.0
       var numericalFormat = numeral(count).format('0.0a');//error here
    return numericalFormat; // i have to format it like 52,5k
  }; 
} 

是否有任何类型脚本库用于格式化和操作数字,或者有没有办法在 angular2 中做到这一点?

4

2 回答 2

9

将包添加到节点模块文件夹

yarn add numeral

或者

npm install numeral

然后导入打字稿文件

import * as numeral from 'numeral';

于 2017-06-15T08:59:52.527 回答
2

添加

declare var numeral:any

import {Pipe,PipeTransform,Injectable} from "@angular/core".
于 2017-06-12T07:24:44.717 回答