Angular ng-if = "" avec plusieurs arguments

94

J'essaye de me lancer dans le développement angulaire. Et après avoir examiné la documentation, certaines questions persistent. Comment écrire au mieux un ng-ifavec plusieurs arguments correspondant à

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

David Karlsson
la source

Réponses:

9

Pour les personnes qui cherchent à faire des déclarations if avec plusieurs valeurs «ou».

<div ng-if="::(a || b || c || d || e || f)"><div>
Brendan Metcalfe
la source
quels sont les deux points devant? Cela ne devrait-il pas fonctionner sans eux et les crochets? Basé sur l'exemple de javaCity, cela ne fonctionne même pas plnkr.co/edit/qdIysgbxtEUVB2WMJa1i?p=preview
Stefan
les points sont la syntaxe d'Angular pour une liaison unique (par opposition à une liaison bidirectionnelle)
Brendan Metcalfe
4

Juste pour clarifier, sachez que le placement du support est important!

Ceux-ci peuvent être ajoutés à toutes les balises 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

Angulaire2 +

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

Il est recommandé de ne pas effectuer de calculs directement dans ngIfs, alors affectez les variables dans votre composant et effectuez toute logique à cet endroit.

boolean check1 = Your conditional check here...
...
Chris
la source
3

Oui c'est possible. par exemple caisse:

<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
la source