javascript - Angular 2 ng类取决于功能

标签 javascript angularjs angular

我正在尝试更改基于数组的某些元素的类。 我已经声明了一个函数来返回一个 bool 值并说明字符串(状态/类)是否包含在数组中。 我将其命名为 isState(st: string) {return (this.ArrayWithClasses.indexOf(st) > 0)}

然后我做

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

但它不起作用。你看到我的错误了吗?最佳解决方案?

编辑:如果我只使用一个 bool 值来切换类,它就可以工作。所以我考虑是不是函数出了什么问题...

最佳答案

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

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

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

关于javascript - Angular 2 ng类取决于功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43297324/

相关文章:

Angular-cli 8 - 是否可以仅在 es2015 上构建?

当应用程序部署在子目录中时, Angular 路由设置

angular - 'nx生成lib direcotyName/libname“将目录名称添加到库名称

javascript - 用图像修改 svg 矩形 ID

javascript - 以下 AngularJS 代码更改底部边框颜色的正确语法是什么?

javascript - Angular 表单验证,保存按钮始终禁用

javascript - 电话号码验证,其中包含 +** ***-***-****(再加上两位数的国家/地区代码和 10 位数的手机号码)

javascript - 将多维javascript数组转换为JSON?

javascript - 如何从 JayData 事务中获取最后插入的 ID?

javascript - 如何计算两个输入字段并在输入元素中显示总和