Я изучаю Angular2, и я хочу отформатировать число, добавляющее тысячу разделителей запятой. Насколько я читал, это можно сделать с помощью Pipes, дело в том, что я хочу отформатировать число программно в js-файле, а не в html (например, var | number).Angular2 Using Pipes in Component.js
Прежде всего, я понял, что нет автономной трубки NumberPipe, с которой я могу работать (поправьте меня, если я ошибаюсь), наиболее похожий - это CurrencyPipe в @ angular2/common. Так что у меня что-то вроде этого:
import { Component } from '@angular/core';
import { CurrencyPipe } from '@angular/common';
@Component({
templateUrl: 'test.component.html',
styleUrls: ['./test.component.scss']
})
export class TestComponent {
public myNumber = 1000;
constructor(private currencyPipe: CurrencyPipe) {
var formatted = this.currencyPipe().transform(this.myNumber, 'MXN', true); // Is this correct?
}
}
Но он бросает мне следующую ошибку: Unhandled Promise отказ: Нет провайдера для CurrencyPipe! ; Зона: угловая ...
Что я делаю неправильно?
Заранее спасибо.
С уважением
Почему бы не использовать его как '{{myNumber | currency: 'USD': true}} ' – MrNew
@MrNew Потому что я извлекаю данные из API, используя его, чтобы нарисовать диаграмму Chart.js ... Нет HTML здесь, поэтому я не могу его использовать {{myNumber | currency}}, мне нужно форматировать данные программно. – didi3r