javascript - tutorial - {{}} js



Utilizzo della classe con la classe angolare vs ng durante l'utilizzo di un'espressione mista (1)

Il libro che hai menzionato potrebbe aver parlato dei problemi legati all'uso delle interpolazioni di ng-class e {{}} insieme, in cui gli aggiornamenti nell'interpolazione rimuovono le classi di ng-class , questo problema è già stato risolto, reference . Pertanto, l'uso dell'interpolazione all'interno degli attributi di classe è assolutamente soddisfacente e non infrange le buone pratiche perché entrambe hanno le proprie peculiarità.

L'utilizzo di ng-class tuttavia non è corretto, è necessario concatenare il valore stringa letterale con la variabile stringa scope:

<div class="float-left flag" ng-class="'i-flag-' + lang.prefix"></div>

ma penso che sia preferibile utilizzare il tuo primo esempio:

<div class="float-left flag i-flag-{{lang.prefix}}"></div>

Ho un div che voglio dare una classe dinamica con AngularJS.

Il div è con un'istruzione ng-repeat dove lang.prefix è prima en poi sv

L'utilizzo del seguente codice funziona e imposta la classe su i-flag-en rispetto a i-flag-sv, ma è corretta?

<div class="float-left flag i-flag-{{lang.prefix}}"></div>

So che esiste una direttiva ng-class che può essere utilizzata per impostare dinamicamente la classe di un elemento con AngularJS.

Penso di aver letto da qualche parte in un libro, che la normale direttiva di classe non dovrebbe essere usata per impostare dinamicamente la proprietà della classe con AngularJS a causa del modo in cui Angular manipola la dom.

Tuttavia, il seguente codice non funziona:

<div class="float-left flag" ng-class="i-flag-{{lang.prefix}}"></div>

e preferisco impostare la classe in questo modo invece di creare un'altra variabile di ambito.

È una cattiva pratica usare l'attributo class con AngularJS per impostare dinamicamente la classe? Funziona sempre anche se sarebbe una cattiva pratica?





angularjs