我试图根据数组更改某些元素的类。我已经声明了一个函数来返回一个布尔值,并说字符串(状态/类(是否包含在数组中。我称之为isState(st: string) {return (this.ArrayWithClasses.indexOf(st) > 0)}
然后我做
[ngClass]="{'class-I-Want-To-Activate': isState('evaluating-this-state') }"
但它不起作用。你看我的错了吗?最好的解决方案?
编辑:如果我只使用布尔值来切换类,它就可以工作。所以我考虑功能是否是问题所在......
你不应该检查indexOf()
值是否> 0
,因为,如果该字符串位于数组中的第一个位置,你将得到 0。
isState(st: string) {
let temp = this.ArrayWithClasses.indexOf(st);
if(temp != -1)
return true;
else
return false;
}
如果搜索的字符串不在数组中,您将获得-1
值。
使用以下
isState(st: string) {
let temp=this.ArrayWithClasses.indexOf(st)
if(temp)
return true;
else
return false;
}