Eu quero fazer isso:
ng-hide="!globals.isAdmin && mapping.is_default"
mas a expressão sempre avalia para false
.
Eu não quero definir uma função especial $scope
.
Eu quero fazer isso:
ng-hide="!globals.isAdmin && mapping.is_default"
mas a expressão sempre avalia para false
.
Eu não quero definir uma função especial $scope
.
Respostas:
Use um método de controlador se precisar executar um código JavaScript arbitrário ou se pode definir um filtro que retorne verdadeiro ou falso.
Acabei de testar (deveria ter feito isso primeiro) e algo como ng-show="!a && b"
funcionou como esperado.
ng-show
/ ng-hide
aceita apenas boolean
valores.
Para expressões complexas, é bom usar o controlador e o escopo para evitar complicações.
Abaixo um funcionará (não é uma expressão muito complexa)
ng-show="User=='admin' || User=='teacher'"
Aqui, o elemento será mostrado na interface do usuário quando qualquer uma das duas condições retornar verdadeira (operação OR).
Assim você pode usar qualquer expressão.
Isso funcionará se você não tiver muitas expressões.
Exemplo: ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"
Para mais expressões além desta, use um controlador.
This will work if you do not have too many expressions.
embora eu concorde que ela deva ser feita no controlador.
Geralmente, tento evitar expressões com ng-show e ng-hide, pois elas foram projetadas como booleanas, não condicionais. Se eu precisar de lógica condicional e booleana, prefiro inserir a lógica condicional usando ng-if como a primeira verificação e adicionar uma verificação adicional para a lógica booleana com ng-show e ng-hide
No entanto, se você deseja usar uma condicional para ng-show ou ng-hide, aqui está um link com alguns exemplos: Exibição condicional usando ng-if, ng-show, ng-hide, ng-include, ng-switch
Algumas dessas respostas acima não funcionaram para mim, mas funcionaram. Apenas no caso de alguém ter o mesmo problema.
ng-show="column != 'vendorid' && column !='billingMonth'"
false
, convém verificar esses valores. É possível que os objetos "globais" e / ou "undefined