使用双重绑定在 Angular2 的输入字段中键入数字格式

Number formatting as-you-type in an input field in Angular2 with double binding

这样的管道
<input....
    [ngModel]="whatever | myCurrencyPipe"
    (ngModelChange)="whatever = $event"
    type="text"
    name="myCurreny"
    ...

您可以格式化现有值。几乎你不想覆盖这个值,你有问题。并且通过上面的解决方案,双重绑定已经被废除。

有很多 jQuery-Libraries 但我正在寻找原生的 angular2 解决方案。

有人可以帮助我吗?

  1. 扩展 NgModel 指令。覆盖每次输入更改和设置模型值后调用的函数 viewToModelUpdate(value)。
  2. 将 NgModel 替换为您的实现(模块中的提供程序[])
  3. 直接从指定属性读取正则表达式或过滤器或格式化程序,如:< input filter="currency" />

您可以在此处找到工作示例: http://stacktrase.com/2017/07/14/angularjs4-restrict-input-text-by-extending-ngmodel/