使用ngClass我正在尝试组合两种表达式类型,以便它们是数据绑定并使用changedetection更新,如下所示
<div [ngClass]="[test.value | myClassPipe, {'anotherClass': test.isValid}]"></div>
语法错误还是不可能?
答案 0 :(得分:7)
根据NgClass指南,应用NgClass
的一种好方法是将其绑定到键:值控制对象。对象的每个键都是一个CSS类名;如果要添加类,则其值为true;如果应删除该类,则为false。
考虑一个组件方法,例如setClasses,它管理三个CSS类的状态:
setClasses() {
let classes = {
saveable: this.canSave, // true
modified: !this.isUnchanged, // false
special: this.isSpecial, // true
};
return classes;
}
现在我们可以添加一个NgClass属性绑定来调用setClasses并相应地设置元素的类:
<div [ngClass]="setClasses()">This div is saveable and special</div>
答案 1 :(得分:1)
如果在myClassPipe中设置了isValid属性,请尝试为ngClass创建一个函数。
-component.html
<div [ngClass]="{'anotherClass': checkIsValid(test)}"></div>
-component.ts
checkIsValid(test: any){
let converted = myClassPipe.transform(test);
if(converted.isValid)
return true;
else
return false;
}