我正在尝试将 2 个值传递给 ngClass。

你怎么做到这一点:

[ngClass]="'cssprefix-' + var.value, {'newclass' : ifTrue}"

最佳答案

您可以移动描述要添加到 Controller 方法的类的逻辑:

// controller
getClasses(ifTrue: boolean, value: string) {
    const ret = {};
    ret['cssprefix-' + value] = true;
    ret['newclass'] = ifTrue;

    return ret;
}

// in template
[ngClass]="getClasses(ifTrue, var.value)"

您也可以直接绑定(bind)到 class 属性:
[class]="'cssprefix-' + var.value" [ngClass]="{'newclass' : ifTrue}"

或者使用字符串插值:
class="{{ 'cssprefix-' + var.value }}" [ngClass]="{'newclass' : ifTrue}"

关于Angular 4+ ngClass 混合表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46852047/

10-11 23:41