10

我在我的一种形式中使用了 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'"给我以下错误。

解析器错误:在 [Amount | 中的第 10 列的操作表达式中不能有管道 数字:'1.2-2'=$事件]

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

4

1 回答 1

28

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

[ngModel]="Amount | number: '1.2-2'" (ngModelChange)="updateAmount($event)"
于 2016-10-31T16:57:59.303 回答