我有一个包含一堆数据的 JSON
文件:
我的数据.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"
}
]
}
如果通过 indexOf 找到来自 Street 的返回值的匹配项,我会尝试显示 div
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>
这似乎不起作用。你能通过 ng-show
执行这样的 indexOf
吗?
最佳答案
您的问题是您比较了两个不相同的字符串:使用 toLowerCase()
函数后,您的字符串 Milk Round Street
看起来像 milk round street
。所以 indexOf()
将返回 -1
。
这就是为什么您需要比较 2 个小写字符串,例如:
<div ng-show="address.Street.toLowerCase().indexOf('mr happy street') == 0">
或:
<div ng-show="address.Street.toLowerCase().indexOf(('MR HAPPY STREET').toLowerCase()) == 0">
关于AngularJS - 在 ng-repeat 中使用 indexOf 来显示/隐藏值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26379450/