Angular2管道不能用于输入

时间:2016-09-30 09:46:14

标签: html angular typescript pipe

我在HTML

中使用angular2内置管道百分比
<input class="ibox1 rightalign" type="text" [ngModel]="_note.StudentPercent| percent:'.5-5'" ngControl="StudentPercent" pattern="^[0-9]\d*(\.\d+)?$" #StudentPercent="ngForm">

其工作&amp;将正确的数据显示到输入框,但是当我更改字段管道的值时,无法正常工作。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您已根据_note.StudentPercent输入的更改重新应用模型值的过滤器。您可以使用ngModelChange处理程序。

<input class="ibox1 rightalign" type="text" 
   [ngModel]="_note.StudentPercent| percent:'.5-5'" 
   (ngModelChange)="changeToPercent(_note.StudentPercent,'.5-5')" 
   ngControl="StudentPercent" pattern="^[0-9]\d*(\.\d+)?$"
   #StudentPercent="ngForm" />

<强>代码

changeToPercent(percent, format){
   //make sure PercentPipe in declarations & providers of NgModule
   this._note.StudentPercent = new PercentPipe().transform(percent, format)
}