AngularJS - Utiliser indexOf à l'intérieur de ng-repeat pour afficher/masquer les valeurs
J'ai un JSON
fichier qui contient un tas de données:
myData.JSON:
{
"Addresses": {
"AddressList": [
{
"HouseNumber": 201,
"Street": "Victoria Lane",
"Postcode": "SW1 8ES"
},
{
"HouseNumber": 10,
"Street": "Allen Close",
"Postcode": "NG2 3TD"
},
{
"HouseNumber": 57,
"Street": "Thomas Street",
"Postcode": "DR12 6TE"
},
{
"HouseNumber": 57,
"Street": "Old Lister Street",
"Postcode": "OL4 5TH"
},
{
"HouseNumber": 45,
"Street": "Milk Round Street",
"Postcode": "MK6 4HG"
},
{
"HouseNumber": 102,
"Street": "Jersey Quarter Avenue",
"Postcode": "DR12 6TE"
},
{
"HouseNumber": 845,
"Street": "MR HAPPY STREET",
"Postcode": "MR3 0FJ"
}
]
}
Im essayant de montrer un div
si un match sur la valeur retournée de la Rue est trouvé par l'intermédiaire d'un indexOf
HTML:
<div ng-repeat="address in Addresses.AddressList">
{{ address.HouseNumber }}, {{ address.Street}}, {{ address.Postcode }}
<div ng-show="address.Street.toLowerCase().indexOf('MR HAPPY STREET') == 0">
MR HAPPY STREET WAS FOUND
</div>
<div ng-show="address.Street.toLowerCase().indexOf('Milk Round Street') == 0">
Milk Round Street WAS FOUND
</div>
</div>
Ca n'a pas l'air de fonctionner. Pouvez-vous effectuer ces indexOf
via un ng-show
?
OriginalL'auteur Oam Psy | 2014-10-15
Vous devez vous connecter pour publier un commentaire.
Votre problème est que vous comparer 2 chaînes qui ne sont pas les mêmes: après utilisation
toLowerCase()
fonction de votre chaîneMilk Round Street
ressemblemilk round street
. DoncindexOf()
sera de retour-1
.C'est pourquoi vous avez besoin de comparer 2 chaînes de caractères en minuscules, tels que:
ou:
OriginalL'auteur ababashka
Utiliser Cette
dans d'écriture du contrôleur
OriginalL'auteur Harutyun Abgaryan
vous avez besoin de vérifier avec minuscules de
"MR HAPPY STREET"
et"Milk Round Street"
parce que vous r d'essayer de comparer avec les minuscules deaddress.Street
.OriginalL'auteur K.Toress