角度2 ng级取决于功能

时间:2017-04-08 16:09:22

标签: javascript angularjs angular

我试图根据数组更改某些元素的类。 我已声明一个函数返回一个布尔值,并说明数组中是否包含字符串(state / class)。 我称之为isState(st: string) {return (this.ArrayWithClasses.indexOf(st) > 0)}

然后我做

[ngClass]="{'class-I-Want-To-Activate': isState('evaluating-this-state') }"

但它没有用。你看错了吗?最好的解决方案?

编辑:如果我只使用布尔来切换类,它就可以了。所以我考虑功能是否有问题......

2 个答案:

答案 0 :(得分:1)

使用以下

isState(st: string) {
    let temp=this.ArrayWithClasses.indexOf(st)
    if(temp)
        return true;
    else
        return false;
}

答案 1 :(得分:1)

您不应该检查indexOf()值是否为> 0,因为如果该字符串位于数组的第一个位置,您将获得0。

isState(st: string) {
    let temp = this.ArrayWithClasses.indexOf(st);
    if(temp != -1)
        return true;
    else
        return false;
}

如果搜索的字符串不在数组中,您将获得-1值。