当用户键入输入字段时,我希望除了数字之外的所有内容都替换为空字符串 . 不幸的是,应用程序未检测到ngModel已更改,并且仅在再次输入数字时才更新变量 balanceAmount
. 是否有可能告诉Angular ngModel已更改并应更新?
HTML:
<input [ngModel]="balanceAmount" (ngModelChange)="onBalanceChange($event)" />
打字稿:
onBalanceChange(amount) {
amount = amount.replace(/[^0-9\.]+/g, '');
this.balanceAmount = amount;
}
1 回答
要确保用户只键入数字(不允许负值):
就像@Claies所说,最好使用内置功能让你 don't reinvent the wheel .
要检测更改,可以使用DoCheck() . 例:
顺便说一句,我在
if
内做的控制是完全随机的,只是为了演示 .