【发布时间】:2016-04-15 15:48:25
【问题描述】:
我有以下汽车数组。我正在尝试在此数组上使用 ng-options 仅将颜色类别显示为链接以及“所有颜色”选项。
全部,红、黄、蓝
<div ng-repeat="client in clients">
<label>{{client.Name}}</label>
<select ng-model="opt" ng-options="i.color for i in client.cars | unique: 'color'">
<option value="">All</option>
<option value="">{{i.color}}</option>
</select>
</div>
如果我删除 "| unique: 'color'" 语法,那么我会得到所有重复的颜色。
如果我从语法中保留“|唯一:颜色”,那么我会收到以下错误:angular.js:13424 错误:[$injector:unpr] 未知提供者:uniqueFilterProvider https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/angular-filter.js) 以使用独特的过滤器功能,但它没有使用它。 我的主要角度模块也是这样的:
angular.module("cartApp", [])
.controller('fs',function($scope,$http){
//code here
});
我相信问题可能在于 angularJS UI 模块。如果我将 '[]' 更改为 '['ui.filters'] 则它无法识别该模块。
clients:
[
"Name":'test',
"age":34,
cars:
[
{
"carid": 1,
"carname": 'camry',
"color": 'red'
},
{
"carid": 2,
"carname": 'mustang',
"color": 'red'
},
{
"carid": 3,
"carname": 'landcruiser',
"color": 'yellow'
},
{
"carid": 4,
"carname": 'focus',
"color": 'blue'
},
{
"carid": 5,
"carname": 'civic',
"color": 'blue'
}
]
]
【问题讨论】:
-
为什么你认为这里有问题?您的阵列有 2 个红色,2 个蓝色 1 个红色。因此,当您删除 uniqueness 时,它会显示所有数据。如果不这样做就会出错。
-
很抱歉给您带来了困惑。如果我从语法中保留“|唯一:颜色”,那么我会收到以下错误:angular.js:13424 错误:[$injector:unpr] 未知提供者:uniqueFilterProvider
-
很抱歉给您带来了困惑。如果我从语法中保留“|唯一:颜色”,那么我会收到以下错误:angular.js:13424 错误:[$injector:unpr] 未知提供者:uniqueFilterProvider cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/…) 以使用独特的过滤器功能,但它没有使用它。
标签: angularjs unique ng-options angularjs-ui-utils