Comment puis-je ajouter de multiples conditions, “ng-désactivé”?
J'ai besoin de vérifier que les deux conditions sont les deux vrai avant l'activation d'un bouton:
Voici un exemple:
<button type="submit" ng-disabled="frmUser.pw2.$error.pwMatch" class="btn btn-primary" ng-click="ChangePassword()">Change</button>
Cet exemple ne contient qu'un seul état dans les ng-disabled
. Comment puis-je ajouter un autre comme une étendue variable?
- Pourquoi la voix et le mouvement pour la fermer?
- Donc, vous dites que AngularJS n'aurez pas un problème avec moi faire la même déclaration que deux fois dans le même élément? Peut-être que ma connaissance du langage HTML n'est pas le problème.
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure de
&&
les conditions:Wanny est correct. Le
&&
opérateur ne fonctionne pas dans le HTML. Angulaire, vous devez utiliser le double tuyaux (||
)pour de multiples conditions.Il y a peut-être un peu d'une chasse aux sorcières dans le libellé de la question d'origine:
La première chose à rappeler que la ng-désactivé directive est l'évaluation d'une condition en vertu de laquelle le bouton doit être, bien, désactivé, mais la question d'origine est en se référant aux conditions dans lesquelles il doit en activé. Il sera activé dans toutes les circonstances où la ng-désactivé expression n'est pas "truthy".
Donc, la première considération est de savoir comment reformuler la logique de la question pour être plus près des exigences logiques de ng-désactivé. La logique inverse de vérifier que les deux conditions sont remplies pour activer un bouton, c'est que si soit condition est faux puis le bouton doit être désactivé.
Ainsi, dans le cas de la question d'origine, le pseudo-expression de ng-désactivé est "désactiver le bouton si condition1 est faux ou condition2 est faux". La traduction dans le Javascript comme l'extrait de code requis par Angulaire (https://docs.angularjs.org/guide/expression), nous obtenons:
!condition1 || !condition2
Zoomlar a droite!
Assurez-vous d'envelopper la condition de la bonne priorité
Fait le ng-désactivé directive fonctionne avec le "|| " opérateur logique pour moi. Le "&& " évaluer une seule condition.
http://jsbin.com/kuqilejesi/2/edit?html,js,sortie
de cette façon, a travaillé pour moi
ng-disabled="(de l'utilisateur.Rôle.ID != 1) && (de l'utilisateur.Rôle.ID != 2)"