在 AngularJS 中,可以通过多种方式实现将类有条件地应用于元素。让我们根据您的具体场景探索最佳的解决方案。
场景:数组呈现为无序列表,并且您希望向列表项添加一个类,索引为 selectedIndex 控制通过控制器上的 selectedIndex 属性。
初始方法:
您当前正在手动复制列表项代码并将该类添加到列表项标记之一。虽然此方法有效,但它引入了不必要的重复。
解决方案 1:带有求值表达式的 ng-class 指令
您可以在控制器中代替使用 CSS 类名称,使用表达式动态设置类名。具体方法如下:
<li ng:class="{true:'selected', false:''}[$index==selectedIndex]"></li>
注意:由于此方法所需的评估机制,请使用带有冒号的旧语法。
解决方案 2:ng -class 指令与条件对象
AngularJS 还支持将对象分配给ng 级指令。每个属性名称代表一个类名称,其值决定是否应用该类。
<li ng-class="{selected: $index==selectedIndex}"></li>
附加说明:
虽然两种解决方案实现相同的结果,它们在功能上并不等同。解决方案 2 允许您将模型属性映射到类名称,并将它们保留在控制器代码之外。这提供了更大的灵活性并提高了代码的可读性。
以上是如何有效地应用条件类来列出 AngularJS 中的项目?的详细内容。更多信息请关注PHP中文网其他相关文章!