私は AngularJS を初めて使用し、継承したアプリ (最初はサードパーティによって開発されたもの) のメンテナンス タスクを割り当てられました。
表のヘッダー行の左側には、クリックしたときにセクションを展開するか折りたたむかを示すプラス (+) またはマイナス (-) 記号を示す小さなボタンがあります。これは、次のように ngClass を使用して行います。
ng-class="{false:'icon-plus',true:'icon-minus'}[day.expanded]"
セクションにデータがなく、展開できない場合は、ボタンを削除する必要があります。これにはすでにクラス(.plus-placeholder)があり、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 を使用しています。