我将输入定义为:
<input [ngModel]="value | uppercase" (ngModelChange)="value=$event">
正如您在 Plunker 中看到的那样,在字段中输入时,最后输入的字符不会被大写。我应该以不同的方式处理这个问题吗?
Plunker:https ://plnkr.co/edit/264FHAlgX9xcpeDc9Glr?p=preview
我将输入定义为:
<input [ngModel]="value | uppercase" (ngModelChange)="value=$event">
正如您在 Plunker 中看到的那样,在字段中输入时,最后输入的字符不会被大写。我应该以不同的方式处理这个问题吗?
Plunker:https ://plnkr.co/edit/264FHAlgX9xcpeDc9Glr?p=preview
你可以这样做:
<input [ngModel]="value" (ngModelChange)="value=$event.toUpperCase()">
您的方法的问题是,您value
仅在通过 阅读时才使用大写字母[ngModel]
,而在设置时需要这样做。
另一种可能性是在控制器中执行此操作,只需将变量声明为 setter。
一旦 ngModel 更改,值就会更新。相反,您可以简单地做到这一点,而无需使用管道,
<input [ngModel]="value " (ngModelChange)="value=$event.toUpperCase()">