19

配列がある場合

$scope.colors = [
{name:'black', shade:'dark'},
{name:'white', shade:'light'},
{name:'red', shade:'dark'},
{name:'red', shade:'dark'},
{name:'yellow', shade:'light'}

];

ng-optionsを使用して、ドロップダウンに一意の値のみを含むselect要素を作成して、赤が1回だけ表示されるようにすることはできますか?

4

4 に答える 4

36

AngularUIには、まさに必要なもの、「一意の」フィルター(srcコード)があります。

例:

ng-options="color in colors | unique:'name'"
于 2013-02-07T10:51:46.173 に答える
12

angle.filterモジュールのuniq/uniqueフィルターを使用できます。
使用法: collection | unique: 'property' またはcollection | unique: 'nested.property'

JS:

$scope.colors = [
 {name:'black', shade:'dark'},
 {name:'white', shade:'light'},
 {name:'red', shade:'dark'},
 {name:'red', shade:'dark'},
 {name:'yellow', shade:'light'}
];

HTML:

<select ng-options="color in colors | unique:'name'"></select>
于 2014-08-04T08:39:08.100 に答える
1

上記の返信がうまくいったことはわかりませんでした。私は次のことをしました:

私のこの方法を実装しましたng-options

<select ng-model="test" ng-options="cand.candidate for cand in candidates  | unique:'candidate'">
   <option value="">Select Candidate</option>
</select>

モジュールをアプリに追加します。

var app = angular.module('phonecatApp', ['ui.unique']);

Bowerを使用して、UiUtilsUniqueだけをインストールします。手順へのリンク。

于 2015-02-11T20:02:04.583 に答える
-4
src="js/vendor/bower_components/angular-filter/dist/angular-filter.js"> 
angular.module('app', ['angular.filter'])
ng-repeat="color in colors | unique:'name'">{{color.name}}
于 2016-05-29T18:16:32.463 に答える