2

我将输入定义为:

<input [ngModel]="value | uppercase" (ngModelChange)="value=$event">

正如您在 Plunker 中看到的那样,在字段中输入时,最后输入的字符不会被大写。我应该以不同的方式处理这个问题吗?

Plunker:https ://plnkr.co/edit/264FHAlgX9xcpeDc9Glr?p=preview

4

2 回答 2

1

你可以这样做:

<input [ngModel]="value" (ngModelChange)="value=$event.toUpperCase()">

您的方法的问题是,您value仅在通过 阅读时才使用大写字母[ngModel],而在设置时需要这样做。

另一种可能性是在控制器中执行此操作,只需将变量声明为 setter。

于 2017-10-30T13:57:49.153 回答
1

一旦 ngModel 更改,值就会更新。相反,您可以简单地做到这一点,而无需使用管道,

  <input [ngModel]="value " (ngModelChange)="value=$event.toUpperCase()">

DEMO

于 2017-10-30T13:58:26.913 回答