Javascript 我想用角2/4计算百分比。

Javascript 我想用角2/4计算百分比。,javascript,angular,Javascript,Angular,我想用前一个值计算一个百分比,用角度2/4计算当前值。假设我有一个输入类型'number'值=10。如果我添加的值低于50(值=20),则它必须添加到25%,大于50的值必须添加到50%。有谁能帮我摆脱我在angular 2/4中想要的场景吗?你可以使用 创建*.pipe.ts文件: import { Pipe, PipeTransform } from '@angular/core'; @Pipe({name: 'countPercentage'}) export class countPe

我想用前一个值计算一个百分比,用角度2/4计算当前值。假设我有一个输入类型'number'值=10。如果我添加的值低于50(值=20),则它必须添加到25%,大于50的值必须添加到50%。有谁能帮我摆脱我在angular 2/4中想要的场景吗?你可以使用

  • 创建
    *.pipe.ts
    文件:

    import { Pipe, PipeTransform } from '@angular/core';
    
    @Pipe({name: 'countPercentage'})
    export class countPercentage implements PipeTransform {
      transform(value: number, previous: number): number {
        return yourCalculateMethod(value, previous);
      }
    }
    
  • 在html文件中使用管道:

    <p>{{value | countPercentage: previous}}</p>
    
  • 在JS类的TS中:

    previousValue: number;
    myOnChangeEvent(event) {
      if(!previousValue) return '';
      let percentage = previousValue * 1.0 / event.target.value / 100;
      this.previousValue = event.target.value;
      return percentage>50? '50%' : percentage + '%';
    }
    

  • 如果这是您的意思。

    将(更改)处理程序放在输入上,并在处理程序的and处将值另存为this.prevValue。因此,下次发生changd事件时,yiu havr prevValue用于计算,您能在这里为我添加一个代码吗?这将是有帮助的MyOnChangeEvent(事件){let currentValue=event.target.value;this.percentageValue=currentValue/this.prevValue;//做点什么this.prevValue=event.target.value;}并添加一些检查。prevValue==未定义的第一个处理程序是否可以使用switchcase添加onChange事件代码它必须接受所有百分比250@NarendraVarma为什么以前的=10,现在的=20,百分比=25%?你怎么计算百分比?
    previousValue: number;
    myOnChangeEvent(event) {
      if(!previousValue) return '';
      let percentage = previousValue * 1.0 / event.target.value / 100;
      this.previousValue = event.target.value;
      return percentage>50? '50%' : percentage + '%';
    }