【问题标题】:How to limt angularjs ng-repeat array object如何限制angularjs ng-repeat数组对象
【发布时间】:2018-04-13 07:17:43
【问题描述】:

我必须限制 Angularjs 数组对象。如果它是数组,我正在使用limitTo 过滤器,它正在工作

但在这种情况下,我必须限制我的对象数组。

我需要首先限制对象

这是我的 html 代码:

<md-select required name="filterType"
               ng-model="filter.type" aria-label="{{ 'alias.filter-type' | translate }}">
    <md-option ng-value="type.value" ng-repeat="type in aliasFilterTypes |limitTo:3" >

        {{type.name | translate}}
    </md-option>
</md-select>

我的数组对象是:

{
    "singleEntity": {
        "value":"singleEntity",
        "name":"alias.filter-type-single-entity"
    },
    "entityList":{
         "value":"entityList",
         "name":"alias.filter-type-entity-list"
    },
    "entityName":{
        "value":"entityName",
        "name":"alias.filter-type-entity-name"
    },
    "stateEntity":{
        "value":"stateEntity",
        "name":"alias.filter-type-state-entity"
    },
    "assetType":{
        "value":"assetType",
        "name":"alias.filter-type-asset-type"
    },
    "deviceType":{
        "value":"deviceType",
        "name":"alias.filter-type-device-type"
    },
    "relationsQuery":{
        "value":"relationsQuery",
        "name":"alias.filter-type-relations-query"
    },
    "assetSearchQuery":{
        "value":"assetSearchQuery",
        "name":"alias.filter-type-asset-search-query"
    },
    "deviceSearchQuery":{
        "value":"deviceSearchQuery",
        "name":"alias.filter-type-device-search-query"
    }
}

【问题讨论】:

  • 你可以这样做:ng-repeat="type in aliasFilterTypes.slice(0,3)" ?
  • 感谢您的回复。但不工作,数据不显示

标签: javascript angularjs angular-material


【解决方案1】:

您可以将$indexng-if 一起使用

<md-select required name="filterType" ng-model="filter.type" aria-label="{{ 'alias.filter-type' | translate }}">
    <md-option ng-value="type.value" ng-repeat="type in aliasFilterTypes" ng-if="$index < 2">

        {{type.name | translate}}
    </md-option>
</md-select>

【讨论】:

  • 只是改变
【解决方案2】:

limitTo 过滤器检查键的值,因此它不适用于您的情况。

您应该使用$index 并将ng-if 条件添加到您的ng-repeated 元素中。试试看;

ng-repeat="type in aliasFilterTypes" ng-if="$index < 3"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    相关资源
    最近更新 更多