我是AngularJS的新手,并且在我们继承的应用程序(最初由第三方为我们开发)上分配了维护任务。AngularJS ngClass表达式可以嵌套吗?
表格中标题行的左侧是一个小按钮,它显示加号(+)或减号( - )符号,以指示单击时是展开还是折叠该部分。它使用ngClass如下所示。
ng-class="{false:'icon-plus',true:'icon-minus'}[day.expanded]"
当节中没有数据并因此无法展开时,我必须删除按钮。已经有一个这样的类(。再加上占位符),我想知道如果ngClass使用表达式可以嵌套,允许这样的事情
ng-class="{false:'plus-placeholder',true:{false:'icon-plus',true:'icon-minus'}[day.expanded]}[day.hasTrips]"
这将让我一个hasTrips
财产day
增加完成任务。
如果这是不可能的,我想我需要添加一个类似expandoState
的属性,它返回字符串'collapsed','expanded'和'empty'。这样我就可以编写代码ngClass这样
ng-class="{'collapsed':'icon-plus','expanded':'icon-minus','empty':'plus-placeholder'}[day.expandoState]"
也许这是一个更清洁的方式做到这一点在任何情况下。任何想法/建议?如果相关,该应用程序使用AngularJS v1.0.2。
谢谢,我特别喜欢最后一个选项。 –
我创建了一个JSFiddle来玩这个。它工作得非常好。 http://jsfiddle.net/strandloper/bNJC9/ –