【问题标题】:How to apply transform translate property to element using ngStyle in Angular2+如何在Angular 2中使用ngStyle将transform translate属性应用于元素
【发布时间】:2017-11-05 23:16:06
【问题描述】:

我正在尝试使用[ngStyle] 有条件地将transform: translateX($value) 直接应用于模板元素,但我找不到任何人在谈论这个问题。主要是因为我不知道要搜索什么:D。

我已经看到一些方法使用[style.color] 进行基本样式设置,或者使用[attr.style]="{'transform': 'translateX(4rem)'}" 进行更高级的设置,但最后一个在呈现的HTML 中返回:style="unsafe"。我已经看到您可以使用Sanitizer 来清理或绕过您的样式/脚本等...但是此时它开始“闻起来”像您不应该做的事情?我正在寻找一种干净的方法来实现这一目标。但我不知道去哪里找。

提前感谢大家!

【问题讨论】:

标签: javascript css angular


【解决方案1】:

[style.transform]="'translateX('+value+'px)'" 在 Angular 中为我工作。

$value 给了我一个错误。

【讨论】:

    【解决方案2】:

    您也可以使用[style.transform]="'translateX('+$value+')'",它本质上是一样的,但我更喜欢这种语法。

    【讨论】:

    • 嗨,乔恩,我很困惑变量前后的 +(加号)符号有什么用
    • 嗨,这是因为该值是一个字符串,即"string here " + myVariable + " joining another string"
    【解决方案3】:

    假设您的控制器中有$value 变量,您可以按如下方式使用$value

    [ngStyle]="{'transform': 'translateX(' + $value + 'px)'}"
    

    并假设您要更改具有控制器变量 $x , $y 的轴

    [ngStyle]="{'transform': 'translate(' + $x + 'px, ' + $y + 'px)'}"
    

    【讨论】:

      猜你喜欢
      • 2017-10-18
      • 2017-07-08
      • 2016-09-23
      • 2022-01-10
      • 1970-01-01
      • 2016-07-06
      • 2023-02-26
      • 1970-01-01
      • 2021-07-05
      相关资源
      最近更新 更多