ng-si, pas égal à?
J'ai un simple ng-reapt qui affiche une liste de valeurs.. Sur certaines sorties, j'ai un couple de ng-si pour afficher/masquer les DIVs.
HTML:
<div ng-repeat="details in myDataSet">
<p>{{ details.Name }}</p>
<p>{{ details.DOB }}</p>
<div ng-if="details.Payment[0].Status == '0'">
<p>No payment</p>
</div>
<div ng-if="details.Payment[0].Status == '1' || details.Payment[0].Status == '2'">
<p>Late</p>
</div>
<div ng-if="details.Payment[0].Status == '3' || details.Payment[0].Status == '4' || details.Payment[0].Status == '5'">
<p>Some payment made</p>
</div>
<div ng-if="details.Payment[0].Status == '6'">
<p>Late and further taken out</p>
</div>
<div ng-if="details.Payment[0].Status != '0' || details.Payment[0].Status != '1' || details.Payment[0].Status != '2' || details.Payment[0].Status != '3' || details.Payment[0].Status != '4' || details.Payment[0].Status != '5' || details.Payment[0].Status != '6'">
<p>Error</p>
</div>
<p>{{ details.Gender}}</p>
</div>
Mon application affiche une erreur lorsque vous tentez d'afficher le !=
section.
source d'informationauteur Oam Psy
Vous devez vous connecter pour publier un commentaire.
Il est préférable d'utiliser ng-commutateur
Ici est une chouette solution avec un filtre:
Balisage:
Essayez ceci:
Désolé, mais je pense que vous pouvez utiliser ng-show ou ng-hide.
Que tout est inutile de logique dans les partiels, la réduire à quelque chose de ce genre et à traiter vos données dans le contrôleur/service où il devrait être
JS:
Essayer ci-dessous la solution
Je n'aime pas les "hacks", mais dans une petite pincée de délai, j'ai fait ce
Oui, j'ai une autre intérieure imbriquée ng-si, je n'aimais pas trop les conditions sur une seule ligne.
Il y a assez de bonnes solutions ici, mais ils n'aident pas à comprendre pourquoi le problème se produit effectivement.
Mais c'est très simple, vous avez juste besoin de comprendre comment la logique OU
||
œuvres. Toute expression d'évaluer àtrue
lorsque l'un de ses côtés évalue àtrue
.Maintenant passons à votre cas. Assumer toute la
details.Payment[0].Status
estStatus
et c'est un numéro pour des raisons de concision. Ensuite, nous avonsStatus != 0 || Status != 1 || ...
.Imaginer
Status = 1
:Maintenant, imaginez
Status = 0
:Comme vous, il n'a même pas d'importance ce que vous avez comme
...
logiqueOR
des deux premières expressions vous donnetrue
qui sera le résultat de l'expression complète.Ce que vous avez réellement besoin est logique
AND
&&
qui sera vrai que si les deux ses côtés sonttrue
.