我在我的一个表单中使用了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)]
的输入中使用管道(或输入掩码)?
答案 0 :(得分:27)
[(ngModel)]是[ngModel]和(ngModelChange)的简写。如果你将它们分开,它应该可以工作(它确实可以使用异步管道):
[ngModel]="Amount | number: '1.2-2'" (ngModelChange)="updateAmount($event)"