Ich hoffe, dies erspart jemandem Kopfschmerzen mit Stilen, die Bindestriche verwenden, zumal Bootstrap so populär geworden ist.
Ich benutze Winkel 1.0.5 über
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.js"></script>
In der ngClass-Dokumentation ist das Beispiel einfach, es wird jedoch auch erwähnt, dass der Ausdruck eine Zuordnung von Klassennamen zu booleschen Werten sein kann. Ich habe versucht, den "icon-white" -Stil für mein Symbol zu verwenden, wie in der Bootstrap-Dokumentation gezeigt , abhängig von einer booleschen Variablen.
<i class="icon-home" ng-class="{icon-white: someBooleanValue}">
Die obige Zeile funktioniert nicht. Die Klasse wird nicht angehängt, icon-white
wenn someBooleanValue
wahr ist. Wenn ich den Schlüssel jedoch in ändere iconWhite
, wird er erfolgreich zur Liste der Klassenwerte hinzugefügt. Wie würde man einen Wert mit einem Bindestrich hinzufügen?
Antworten:
Nach stundenlangem Herumhacken stellt sich heraus, dass der Bindestrich interpoliert wird! Zitate werden benötigt.
Ich hoffe, das hilft jemandem, sich die Haare auszureißen.
AKTUALISIEREN:
In älteren Versionen von Angular reicht die Verwendung eines Backslash ebenfalls aus, in den neueren Versionen jedoch nicht.
Ersteres wird wahrscheinlich bevorzugt, da Sie in Ihrem Lieblingseditor leichter danach suchen können.
quelle
\'icon-white\'
funktioniert auch (mit AngularJS 1.2.7)quelle
Alternative für die Verwendung der Klasse ng:
quelle