attributes - ng-show condition




Existe-t-il des expressions complexes dans ng-hide/ng-show? (4)

Je veux le faire:

ng-hide="!globals.isAdmin && mapping.is_default"

mais l'expression évalue toujours à false .

Je ne veux pas définir de fonction spéciale sur $scope .


Cela fonctionnera si vous n'avez pas trop d'expressions.

Exemple: ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"

Pour plus d'expressions que cela, utilisez un contrôleur.


Certaines de ces réponses ci-dessus n'ont pas fonctionné pour moi mais cela a fonctionné. Juste au cas où quelqu'un d'autre a le même problème.

ng-show="column != 'vendorid' && column !='billingMonth'"

Utilisez une méthode de contrôleur si vous avez besoin d'exécuter du code JavaScript arbitraire, ou vous pouvez définir un filtre qui renvoie true ou false.

Je viens de tester (aurait dû le faire en premier), et quelque chose comme ng-show="!a && b" fonctionné comme prévu.


ng-show / ng-hide accepte uniquement les valeurs boolean .

Pour les expressions complexes, il est bon d'utiliser le contrôleur et la portée pour éviter les complications.

Ci-dessous on va travailler (Ce n'est pas une expression très complexe)

ng-show="User=='admin' || User=='teacher'"

Ici, l'élément sera affiché dans l'interface utilisateur lorsque l'une des deux conditions renvoie true (opération OR).

Comme ceci, vous pouvez utiliser n'importe quelle expression.