angular 2+ 中的复杂和多种变换样式
Complex and multiple transform styles in angular 2+
如何在 angular 2+ 中添加多个内联转换样式?
这个有效:
[style.transform]="'rotate(45deg)'"
但是当我添加超过 1 种样式时它不起作用:
[style.transform]="'rotate(45deg) translateX(10px)'"
在哪里可以找到受支持的 style.*
指令的参考?
这样的事情可能吗?
[style.transform.translateX.px] = "10"
[style.transform.rotate.deg] = "45"
这里有两种有效的方法:
方法 1 - 使用 ngStyle
:
[ngStyle]="{'transform': 'rotate(45deg) translateX(10px)'}"
方法 2 - 清理传递给 [style.transform]
的值:
[style.transform]="myTransform"
import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
get myTransform(): SafeStyle {
return this._sanitizer.bypassSecurityTrustStyle("rotate(45deg) translateX(10px)");
}
参见 this stackblitz。
如问题中所述,以下语法不起作用(参见 this demo):
[style.transform]="'rotate(45deg) translateX(10px)'"
样式属性已从 HTML 输出中删除并触发此警告:
WARNING: sanitizing unsafe style value rotate(45deg) translateX(10px)
(see http://g.co/ng/security#xss).
如何在 angular 2+ 中添加多个内联转换样式?
这个有效:
[style.transform]="'rotate(45deg)'"
但是当我添加超过 1 种样式时它不起作用:
[style.transform]="'rotate(45deg) translateX(10px)'"
在哪里可以找到受支持的 style.*
指令的参考?
这样的事情可能吗?
[style.transform.translateX.px] = "10"
[style.transform.rotate.deg] = "45"
这里有两种有效的方法:
方法 1 - 使用 ngStyle
:
[ngStyle]="{'transform': 'rotate(45deg) translateX(10px)'}"
方法 2 - 清理传递给 [style.transform]
的值:
[style.transform]="myTransform"
import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
get myTransform(): SafeStyle {
return this._sanitizer.bypassSecurityTrustStyle("rotate(45deg) translateX(10px)");
}
参见 this stackblitz。
如问题中所述,以下语法不起作用(参见 this demo):
[style.transform]="'rotate(45deg) translateX(10px)'"
样式属性已从 HTML 输出中删除并触发此警告:
WARNING: sanitizing unsafe style value rotate(45deg) translateX(10px) (see http://g.co/ng/security#xss).