Dies sollte ein einfaches Problem sein, aber ich kann anscheinend keine Lösung finden.
Ich habe das folgende Markup:
<div style="width:20px; height:20px; margin-top:10px; border:solid 1px black; background-color:#ff0000;"></div>
Ich brauche die Hintergrundfarbe, um an den Bereich gebunden zu sein, also habe ich Folgendes versucht:
<div style="{width:20px; height:20px; margin-top:10px; border:solid 1px black; background-color:{{data.backgroundCol}};}"></div>
Das hat nicht funktioniert, also habe ich einige Nachforschungen angestellt und herausgefunden ng-style
, aber das hat nicht funktioniert, also habe ich versucht, den dynamischen Teil herauszunehmen und den Stil einfach so fest zu codieren ng-style
...
<div ng-style="{width:20px; height:20px; margin-top:10px; border:solid 1px black; background-color:#ff0000;}"></div>
und das funktioniert nicht mal. Verstehe ich falsch, wie es ng-style
funktioniert? Gibt es eine Möglichkeit, {{data.backgroundCol}}
ein einfaches Stilattribut einzufügen und den Wert einzufügen?
javascript
angularjs
ng-style
Jonhobbs
quelle
quelle
Antworten:
Mit der ngStyle- Direktive können Sie den CSS- Stil für ein HTML-Element dynamischfestlegen.
ng-style="{color: myColor}"
Ihr Code lautet:
Wenn Sie Bereichsvariablen verwenden möchten:
Hier ein Beispiel für Geigen, die verwenden
ngStyle
, und unter dem Code mit dem laufenden Snippet:quelle
Am einfachsten ist es, eine Funktion für den Stil aufzurufen und die Funktion den richtigen Stil zurückgeben zu lassen.
Und in Ihrem Controller:
quelle
Direkt aus der
ngStyle
Dokumentation :Sie könnten also Folgendes tun:
Hoffe das hilft!
quelle
Generell können Sie eine Kombination aus ng-if und ng-style verwenden, um bedingte Änderungen mit Änderungen im Hintergrundbild zu berücksichtigen.
quelle
Ich würde sagen, dass Sie Stile, die sich nicht ändern, in ein reguläres
style
Attribut und Bedingungs- / Bereichsstile in einng-style
Attribut einfügen sollten. Zeichenfolgenschlüssel sind ebenfalls nicht erforderlich. Verwenden Sie für durch Bindestriche getrennte CSS-Schlüssel camelcase.quelle
Mach das einfach:
quelle