Je traite mon problème comme ceci:
ng-style="{ width: getTheValue() }"
Mais pour éviter d'avoir cette fonction du côté du contrôleur, je préférerais de loin faire quelque chose comme ceci:
ng-style="{ width: myObject.value == 'ok' ? '100%' : '0%' }"
Comment puis-je faire ceci?
angularjs
angularjs-directive
TigrouMeow
la source
la source
Réponses:
Comme l'a dit @Yoshi, à partir de la version angulaire 1.1.5, vous pouvez l'utiliser sans aucune modification.
Si vous utilisez angulaire <1.1.5, vous pouvez utiliser ng-class .
la source
exemple simple:
{'background-color': 'green'} RETURN true
OU le même résultat:
autre possibilité conditionnelle:
la source
isTrue
et{'background-color':'green'}
OU il va vérifier seulementisTrue
et mettrabackground
comment cela fonctionnera s'il vous plaît expliquer à personne?Vous pouvez y arriver comme ça:
la source
@jfredsilva a évidemment la réponse la plus simple à la question:
Cependant, vous voudrez peut-être vraiment considérer ma réponse pour quelque chose de plus complexe.
Exemple de type ternaire:
Quelque chose de plus complexe:
Si
$scope.color == 'blueish'
, la couleur sera «bleu».Si
$scope.zoom == 2
, la taille de police sera de 26 pixels.la source
{<value>:'<string>'}[<$scope.var>]}
, d'où vient-elle?si vous voulez l'utiliser avec une expression, la meilleure façon est:
mais la meilleure façon est d'utiliser la classe ng
la source
Syntax Error: Token '%3A' is%20an%20unexpected%20token at column 9 of the expression [ng-style%3A%
...Sur une note générique, vous pouvez utiliser une combinaison de
ng-if
etng-style
incorporer des modifications conditionnelles avec une modification de l'image d'arrière-plan.la source
Uncaught Error: Template parse errors: Can't bind to 'ng-style' since it isn't a known property of 'div'
m'a causé une erreurPour une propriété CSS unique
Pour plusieurs propriétés css ci-dessous peuvent être référencées
Remplacez 1 == 1 par votre expression de condition
la source
cette syntaxe pour l'opérateur ternaire fonctionnera également:
où
<value>
sont les valeurs de la propriété $ scope. Par exemple:`` ''
cela permet un calcul dans les valeurs des propriétés css.
la source
Je fais comme ci-dessous pour des conditions multiples et indépendantes et cela fonctionne comme du charme:
la source
J'utilise ng-class pour ajouter du style: -
Utilisation de l' opérateur ternaire avec des directives de classe ng dans angular.js pour donner du style. Définissez ensuite le style de classe dans Css ou .scss fichier. Par exemple :-
la source
Je ne sais pas comment cela fonctionne pour vous, mais sur Angular 9, je dois envelopper ngStyle entre crochets comme ceci:
Sinon ça ne marche pas
la source