AngularJS - 在 ng-repeat 中使用 indexOf 来显示/隐藏值

标签 angularjs angularjs-scope angularjs-ng-repeat ng-show ng-hide

我有一个包含一堆数据的 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/

相关文章:

javascript - Angular js;对所有记录进行排序,而不仅仅是在当前页面中

html - 基于 URL 参数的 Angular 显示 div

javascript - AngularJS 服务/工厂从 $scope 变量动态 $compile HTML

javascript - 当 AngularJS 变量在 $scope 中定义时使用对象名称

javascript - Angular 重复顺序不适用于嵌套范围

AngularJS 将数据插入 JSON 文件

angularjs - Angular sanitize/ng-bind-html 不起作用?

angularjs - Angular 指令 : bind to variable in parent scope

javascript - 根据正确选择的单选按钮显示下拉菜单

javascript - Angularjs - json内容不显示