Angular 2:使用带有ngModel的管道

时间:2016-10-31 16:44:59

标签: angular angular2-pipe angular2-ngmodel

我在我的一个表单中使用了JQuery输入掩码和[(ngModel)],但由于某种原因,它们不能一起工作。使用任何一个单独工作完全正常,但组合两个完全中断[(ngModel)]和新输入不会被发送回组件。经过一段时间的努力,我认为使用Angular 2的管道将是一个很好的解决方案,但我无法弄清楚如何让这两个人一起工作。

以下是我用来测试管道的一些代码

<input [(ngModel)]="Amount" id="Amount" name="Amount" class="form-control" type="number" autocomplete="off">
<p>Amount: {{Amount | number:'1.2-2'}}</p>

如果我输入12345,下面的<p>标签将显示12,345.00,这正是我想要它过滤的方式,但我不想让过滤量低于输入,我想要输入本身显示12,345.00。将相同的管道添加到ngModel,如下所示:[(ngModel)]="Amount | number:'1.2-2'"会出现以下错误。

  

分析器错误:第10列的动作表达式中没有管道   在[金额|号: '1.2-2'= $事件]

如何在[(ngModel)]的输入中使用管道(或输入掩码)?

1 个答案:

答案 0 :(得分:27)

[(ngModel)]是[ngModel]和(ngModelChange)的简写。如果你将它们分开,它应该可以工作(它确实可以使用异步管道):

[ngModel]="Amount | number: '1.2-2'" (ngModelChange)="updateAmount($event)"