Ich gehe mit meinem Problem folgendermaßen um:
ng-style="{ width: getTheValue() }"
Um diese Funktion nicht auf der Controllerseite zu haben, würde ich Folgendes vorziehen:
ng-style="{ width: myObject.value == 'ok' ? '100%' : '0%' }"
Wie kann ich das machen?
angularjs
angularjs-directive
TigrouMeow
quelle
quelle
Antworten:
Wie @Yoshi sagte, können Sie es ab Winkel 1.1.5 ohne Änderung verwenden.
Wenn Sie Winkel <1.1.5 verwenden, können Sie ng-class verwenden .
quelle
einfaches Beispiel:
{'Hintergrundfarbe': 'Grün'} RETURN true
ODER das gleiche Ergebnis:
andere bedingte Möglichkeit:
quelle
isTrue
und{'background-color':'green'}
ODER es wird nur überprüfenisTrue
und wird setzen,background
wie es funktionieren wird, bitte erklären Sie jemandem?Sie können es so erreichen:
quelle
@jfredsilva hat offensichtlich die einfachste Antwort auf die Frage:
Vielleicht möchten Sie jedoch meine Antwort für etwas Komplexeres in Betracht ziehen.
Ternäres Beispiel:
Etwas komplexeres:
Wenn
$scope.color == 'blueish'
, ist die Farbe "blau".Wenn
$scope.zoom == 2
, ist die Schriftgröße 26px.quelle
{<value>:'<string>'}[<$scope.var>]}
, woher kommt es?Wenn Sie mit Ausdruck verwenden möchten, ist der richtige Weg:
aber der beste Weg ist die Verwendung der ng-Klasse
quelle
Syntax Error: Token '%3A' is%20an%20unexpected%20token at column 9 of the expression [ng-style%3A%
...Generell können Sie eine Kombination aus bedingten Änderungen mit Änderungen im Hintergrundbild verwenden
ng-if
und dieseng-style
einbeziehen.quelle
Uncaught Error: Template parse errors: Can't bind to 'ng-style' since it isn't a known property of 'div'
Fehler für michFür einzelne CSS-Eigenschaft
Für mehrere CSS-Eigenschaften kann unten verwiesen werden
Ersetzen Sie 1 == 1 durch Ihren Bedingungsausdruck
quelle
Auch diese Syntax für ternäre Operatoren funktioniert:
Wo
<value>
sind $ scope-Eigenschaftswerte? Zum Beispiel:`` `
Dies ermöglicht eine gewisse Berechnung der CSS-Eigenschaftswerte.
quelle
Ich mache es wie unten für mehrere und unabhängige Bedingungen und es funktioniert wie Charme:
quelle
Ich benutze ng-class zum Hinzufügen von Stil: -
Verwenden des ternären Operators zusammen mit Direktiven der ng-Klasse in angle.js, um Stil zu geben. Definieren Sie dann den Stil für die Klasse in der CSS- oder SCSS- Datei. Z.B :-
quelle
Ich bin mir nicht sicher, wie es bei euch funktioniert, aber bei Angular 9 muss ich ngStyle in folgende Klammern setzen:
Sonst funktioniert es nicht
quelle