angularjs中ng-class的多个条件

Posted

技术标签:

【中文标题】angularjs中ng-class的多个条件【英文标题】:Multiple condition on ng-class in angularjs 【发布时间】:2020-01-17 01:30:26 【问题描述】:

如何在下面的代码中添加额外的条件

<div ng-class="true: 'complete'[item.Id != 0]"></div>

这里我需要添加"true: 'abc'[item.name == "FName"],谁能帮帮我。

谢谢

【问题讨论】:

你想达到什么目的?这个条件是什么意思? 我只是想添加额外的条件。 true: 'abc' 不是条件... ng-class=" (item.id != 0 &amp;&amp; /* some other condition*/) ? 'classNameWhenConditionsMet' : 'classNameWhenConditionsAreNotMet'" 是您要找的吗? 我需要根据条件添加两个不同的类 【参考方案1】:

我猜你想在这个条件下添加complete 类:item.Id != 0。正确的语法如下:

<div ng-class=" 'complete': item.Id != 0 "></div>

您可以使用逗号添加任意数量的类:

<div ng-class=" 'complete': item.Id != 0, 'abc': item.name == 'FName' "></div>

【讨论】:

【参考方案2】:

快速搜索后发现:

ng-class="'test': obj.value1 == 'someothervalue' || obj.value2 == 'somethingelse'"

来源:AngularJS ngClass conditional 致谢https://***.com/users/736482/bertrand

【讨论】:

我需要根据条件添加两个不同的类 所以你需要类似 if 条件:class elseif condition:class else nothing ? 不,这两个条件都应该起作用,如下图&lt;div ng-class="true: 'complete'[item.Id != 0],true: 'abc'[item.name == "FName"]"&gt;&lt;/div&gt;这里abc是类,但是这里第二个条件不起作用 我不知道你的情况,但我注意到你用双引号 Fname 会破坏你的代码:

以上是关于angularjs中ng-class的多个条件的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS之ng-class

AngularJS 模板中的条件逻辑

当类更改时,ng-class 会在 AngularJs 视图中更新 ng-repeat 中的所有项目

AngularJS中ng-class使用方法

将 ng-class 属性添加到 angularjs 指令的根元素

如何在angularjs中动态地将样式属性添加到具有ng-class的元素