在Angular 2+中绑定translateX()变换

时间:2017-04-07 11:05:13

标签: angular binding

如何在Angular中绑定transform: translateX()样式?

我尝试了什么:

<div [style.transform]="translateX({{x}})">

<div [style.transform.translateX.px]="x">

3 个答案:

答案 0 :(得分:5)

这应该有效

NSView

修改

似乎有必要绕过XSS protection才能发挥作用。

答案 1 :(得分:0)

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

其中transX是组件变量。

答案 2 :(得分:0)

接受的答案有效,但您可以通过使用方法作为样式属性的绑定使您的代码更清晰

<div *ngFor="let il of imageLayers">
    <img class="divFloatLayer" 
        [src]="il.img_src" 
        [style.left]="il.getLeftPx()"
        [style.top]="il.getTopPx()"
        [style.z-index]="il.getZindex()"
        [style.transform]="il.getTransform()"
    />
</div>

在包含您需要绑定到的值的类中:

getLeftPx() {
    return `${this.left}px` ;
}

getTopPx() {
    return `${this.top}px` ;
}

getZindex() {
    return `${this.z_index}` ;
}

getTransform() {
    return `translateX(${this.x}px)`;
}