我必须限制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"
}
}
答案 0 :(得分:3)
您可以将$index
与ng-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>
答案 1 :(得分:1)
limitTo
过滤器检查密钥的值,因此它不适用于您的案例。
您应该使用$index
并将ng-if
条件添加到ng-repeat
ed元素中。尝试;
ng-repeat="type in aliasFilterTypes" ng-if="$index < 3"