我是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/ –