Я расширил DecimalPipe
и использую его для fr
локали.
import { DecimalPipe, registerLocaleData } from '@angular/common';
import { Pipe, PipeTransform } from '@angular/core';
import localeFr from '@angular/common/locales/fr';
@Pipe({
name: 'myDecimalPipe'
})
export class MyDecimalPipe extends DecimalPipe implements PipeTransform
{
transform(value: any, args?: any) : any {
let result;
registerLocaleData(localeFr);
result = super.transform(value, args, 'fr');
return result;
}
}
Фактически, когда модель связывается, она визуально отображает десятичное значение в соответствии с форматом.
, например, 23.00
отображается как 23,00
, но при редактировании и при повторном назначении выдает ошибку
core. js: 6185 Ошибка: InvalidPipeArgument : '23, 23 - это не число 'для трубы' DecimalPipe '
Использование:
constructor(private decimalPipe: MyDecimalPipe){}
update()
{
this.decimalPipe.transform(model.value) //model.value is 23,23
}
В чем здесь проблема?