Estou lidando com meu problema assim:
ng-style="{ width: getTheValue() }"
Mas, para evitar ter essa função no lado do controlador, eu preferiria fazer algo assim:
ng-style="{ width: myObject.value == 'ok' ? '100%' : '0%' }"
Como posso fazer isso?
angularjs
angularjs-directive
TigrouMeow
fonte
fonte
Respostas:
Como o @Yoshi disse, do angular 1.1.5 você pode usá-lo sem nenhuma alteração.
Se você usar angular <1.1.5, poderá usar a classe ng .
fonte
exemplo simples:
{'background-color': 'green'} RETORNO verdadeiro
OU o mesmo resultado:
outra possibilidade condicional:
fonte
isTrue
e{'background-color':'green'}
OU vai checar apenasisTrue
e vai colocarbackground
como vai funcionar, por favor, explique alguém?Você pode conseguir assim:
fonte
@jfredsilva obviamente tem a resposta mais simples para a pergunta:
No entanto, você pode realmente querer considerar minha resposta para algo mais complexo.
Exemplo do tipo ternário:
Algo mais complexo:
Se
$scope.color == 'blueish'
, a cor será 'azul'.Se
$scope.zoom == 2
, o tamanho da fonte será 26px.fonte
{<value>:'<string>'}[<$scope.var>]}
, de onde vem?se você deseja usar com expressão, o caminho certo é:
mas a melhor maneira é usar a classe ng
fonte
Syntax Error: Token '%3A' is%20an%20unexpected%20token at column 9 of the expression [ng-style%3A%
...Em uma observação genérica, você pode usar uma combinação
ng-if
eng-style
incorporar alterações condicionais com a alteração na imagem de plano de fundo.fonte
Uncaught Error: Template parse errors: Can't bind to 'ng-style' since it isn't a known property of 'div'
erro para mimPara propriedade css única
Para várias propriedades css abaixo, pode ser consultado
Substitua 1 == 1 pela sua expressão de condição
fonte
também esta sintaxe para o operador ternário funcionará:
Onde
<value>
estão os valores da propriedade $ scope. No exemplo:`` ``
isso permite algum cálculo nos valores da propriedade css.
fonte
Eu estou fazendo como abaixo para condições múltiplas e independentes e funciona como charme:
fonte
Estou usando a classe ng para adicionar estilo: -
Usando o operador ternário junto com as diretivas da classe ng no angular.js para dar estilo. Em seguida, defina o estilo da classe no arquivo .css ou .scss . Por exemplo :-
fonte
Não tenho certeza de como funciona para vocês, mas no Angular 9 eu tenho que colocar o ngStyle entre parênteses como este:
Caso contrário, não funciona
fonte