代码之家  ›  专栏  ›  技术社区  ›  Elaine Byene

使用角度8将数值转换为ngStyle中的度数

  •  0
  • Elaine Byene  · 技术社区  · 5 年前

    {{result.percentage}给我一个从0到100的数字。

    [ngStyle]="{'transform': 'rotate(' + result.percentage + 'deg)'}"
    

    电流,输出 style="transform: rotate(25deg);" 我想转换成 style="transform: rotate(-45deg);"

    仅供参考,我需要绑定这个速度表的数据: https://jsfiddle.net/bcgzrdfL/

    0 回复  |  直到 5 年前
        1
  •  1
  •   Damian C    5 年前

    看起来你需要一个数学天才,而不是一个框架专家,但是我要尝试一个答案:

    [ngStyle]="{'transform': 'rotate(' + ((result.percentage * 1.8) - 90) + 'deg)'}"
    
        2
  •  1
  •   C. Trenholm    5 年前

    html格式

    [ngStyle]="{'transform': 'rotate(' + convertedPercentage + 'deg)'"
    

    成分

    get convertedPercentage() {
      return (this.result.percentage * 1.8) - 90;
    }
    
        3
  •  1
  •   bryan60    5 年前

    从性能的角度来看,最好只在需要计算值时才计算该值,而不是在模板中进行计算。

    styles = {}
    
    setStyles(percentage) {
       this.styles = {
         'transform': 'rotate(' + ((percentage * 1.8) - 90) + 'deg)'
       }
    }
    

    在获取/分配结果或更改百分比时调用该函数,然后在模板中使用,如:

    [ngStyle]="styles"
    

    现在的方法是,在每个变化检测周期计算度数,而不是只在需要时计算度数。这是一个糟糕的做法,如果你继续这样做,将会导致应用程序性能下降。