角度 2 ng 级取决于功能



我试图根据数组更改某些元素的类。我已经声明了一个函数来返回一个布尔值,并说字符串(状态/类(是否包含在数组中。我称之为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;
}

最新更新