假设您有一个在 a 中呈现的数组ul
与li
对于每个元素和控制器上的一个属性,称为selectedIndex
。将课程添加到的最佳方式是什么li
与索引selectedIndex
在 AngularJS 中?
我目前正在(手工)复制li
代码并将该类添加到其中之一li
标签和使用ng-show
and ng-hide
仅显示一个li
每个索引。
如果您不想像我一样将 CSS 类名放入 Controller,这里有一个我从 v1 版本之前就开始使用的老技巧。我们可以编写一个直接计算为类名的表达式selected,不需要自定义指令:
ng:class="{true:'selected', false:''}[$index==selectedIndex]"
请注意带有冒号的旧语法。
还有一种新的更好的有条件应用类的方法,例如:
ng-class="{selected: $index==selectedIndex}"
Angular 现在支持返回对象的表达式。该对象的每个属性(名称)现在都被视为类名称,并根据其值进行应用。
然而,这些方法在功能上并不相同。这是一个例子:
ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]"
因此,我们可以通过将模型属性映射到类名来重用现有的 CSS 类,同时将 CSS 类保留在控制器代码之外。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)