在Angular2中仅允许输入一个小数

时间:2017-04-05 07:52:24

标签: javascript jquery html angular

这是我的意见:

<input [(ngModel)]="minimumRange" min="1" placeholder="0.0" step="0.1" type="number">

我需要的是,当有人进入时

  

&#34; 1&#34;

,我需要它返回

  

&#34; 1.0&#34;

模糊  这怎么可能?

3 个答案:

答案 0 :(得分:5)

使用数字 @Pipe您应该可以实现此目标。

<input [ngModel]="minimumRange | number : '1.1-2'" min="1" (ngModelChange)="minimumRange=$event" placeholder="0.0" step="0.1" type="number">

欲了解更多信息:

希望它有所帮助!好编码兄弟!

<强>更新

如果我们在模型中使用@Pipe:

<input [(ngModel)]="myModel| uppercase">

会抛出以下错误:

  

分析程序错误:第X列的动作表达式中没有管道

我们只需将其更改为:

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

更新2:

添加(ngModelChange)="minimumRange=$event"以保持双向绑定功能。

正如@ n​​00dle指出的那样,删除()会删除双向绑定功能。因此,在双向绑定中使用@Pipe的方法也将使用(ngModelChange)

这可能是非常有用的:

答案 1 :(得分:2)

试试这个

<input [(ngModel)]="minimumRange" min="1" placeholder="0.0" step="0.1" type="number" (keyup)='conversion()'>

conversion(){
  this.minimumRange = this.minimumRangex.toPrecision(2);
}

答案 2 :(得分:0)

&#13;
&#13;
  private _minimumRange:number;

  get minimumRange():number{
    return this._minimumRange;
  }

  set minimumRange(num:number){
    this._minimumRange = num.toPrecision(2);
  }
&#13;
      <input [(ngModel)]="minimumRange" min="1" placeholder="0.0" step="0.1" type="number">
&#13;
&#13;
&#13;