Angular ng-if = “” com vários argumentos

94

Estou tentando iniciar o desenvolvimento angular. E após revisar a documentação algumas questões persistem. Qual é a melhor forma de escrever um ng-ifcom vários argumentos correspondentes a

if( a && b) ou if( a || b )

David Karlsson
fonte

Respostas:

9

Para pessoas que procuram fazer declarações if com múltiplos valores 'ou'.

<div ng-if="::(a || b || c || d || e || f)"><div>
Brendan Metcalfe
fonte
quais são os dois pontos na frente? Não deveria funcionar sem eles e os colchetes? Com base no exemplo de javaCity, isso nem funciona plnkr.co/edit/qdIysgbxtEUVB2WMJa1i?p=preview
Stefan
os pontos são a sintaxe do Angular para ligação única (em oposição a bidirecional)
Brendan Metcalfe
3

Sim é possivel. por exemplo checkout:

<div class="singleMatch" ng-if="match.date | date:'ddMMyyyy' === main.date &&  match.team1.code === main.team1code && match.team2.code === main.team2code">
    //Do something here
    </div>
Vithal Reddy
fonte
3

Apenas para esclarecer, esteja ciente de que a colocação do colchete é importante!

Eles podem ser adicionados a qualquer tag HTML ... span, div, table, p, tr, td etc.

AngularJS

ng-if="check1 && !check2" -- AND NOT
ng-if="check1 || check2" -- OR
ng-if="(check1 || check2) && check3" -- AND/OR - Make sure to use brackets

Angular2 +

*ngIf="check1 && !check2" -- AND NOT
*ngIf="check1 || check2" -- OR
*ngIf="(check1 || check2) && check3" -- AND/OR - Make sure to use brackets

A melhor prática é não fazer cálculos diretamente no ngIfs, portanto, atribua as variáveis ​​em seu componente e faça qualquer lógica lá.

boolean check1 = Your conditional check here...
...
Chris
fonte