2013-08-01 4 views

risposta

13

Penso che questo potrebbe fare il trucco:

<button class="btn" ng-click="isCollapsed = !isCollapsed"> 
    <i ng-class="{'icon-resize-small': isCollapsed, 'icon-fullscreen': !isCollapsed}"></i>Details 
</button> 

In questo caso, il vostro i avrebbe dovuto classe icon-resize-small quando isCollapsed è vero, e icon-fullscreen quando non è vero. Ecco lo documentation.

Quando si passa un oggetto di coppie chiave-valore a ngClass, le chiavi rappresentano le classi che verranno applicate se i valori valgono su true.

4
<button ng-click="isCollapsed=!isCollapsed"> 
     <span ng-class="{'glyphicon glyphicon-plus': isCollapsed, 'glyphicon glyphicon-plus': !isCollapsed }"></span> 
     </button> 
+1

Si prega di [modificare] con ulteriori informazioni. Le risposte solo per codice e "prova questo" sono [scoraggiate] (// meta.stackexchange.com/questions/196187), perché non contengono contenuti ricercabili e non spiegano perché qualcuno dovrebbe "provare questo". Facciamo uno sforzo qui per essere una risorsa per la conoscenza. – Mogsdad

+0

* SPIEGAZIONE NEI COMMENTI * Ci sono molti modi in cui dovresti farlo e, a seconda di dove stai usando questa funzione, ho elencato quattro possibili modi in cui dovresti utilizzarla. Se lo fai all'interno di una direttiva, il codice sembrerebbe diverso come mostrato di seguito. se vuoi aggiungere qualche funzione inclusa con il cambio icona, allora ho elencato nei miei commenti alcuni scenari. Per me, quando lo stavo facendo, ho bisogno di una funzione per espandere il pannello ed è lì che ho "somefunction()". Come ho detto in base alle tue necessità, ecco alcuni scenari. – kupaff

+0

I commenti sono transitori e non sono inclusi nei risultati di ricerca, quindi è davvero meglio [modificare] la risposta per aggiungere tali informazioni. (Sarebbe una buona risposta con quella roba, btw!) – Mogsdad

Problemi correlati