2014-09-03 65 views
0

我想過濾的ngOptions數組:角ngOptions和過濾

這裏一個plunkr:http://plnkr.co/edit/OxL84mDdma9iS13wMnIX?p=preview

我有此數組:

$scope.keys = [ { 
       id: 1, 
       name: 'ddddggggggggggggggggg', 
       applicationKey: 'dssssssssssssss', 
       kind: 'pingdom', 
       } , { 
       id: 2, 
       name: 'Ddd', 
       kind: 'moz', 
       accessId: 'ssss', 
       secretKey: 'aaaa', 
       } , { 
       id: 3, 
       name: 'MyAlexa', 
       kind: 'alexa', 
       secretAccessKey: 'ssssssssssssssssss', 
       accessKeyId: 'ssssssss', 

       } 
      ] 

而且我想篩選使用這樣的一些thig:

<select name="key" ng-model="keys" 
     ng-options="k.name for k in keys track by k.id | filter: {kind: 'alexa'}" > 
    </select> 
+0

我不確定您是否可以過濾出這樣的值。您只能更改其格式,但在控制器上刪除該值。 – 2014-09-03 18:43:24

回答

1

也許你可能要做到以下幾點:

<select name="key" 
     data-ng-model="keys" 
     data-ng-options="key.name for key.name in keys | filter: { kind: 'alexa' } track by key.id"> 
</select> 

應用篩選後,您必須有track by

編輯

你在標記有唯一的問題是track by表達是過濾器前。其餘的差異只是個人喜好。

0

試試這個代碼。

<select name="key" ng-model="keys" 
      ng-options="k.name for k in keys | filter: {kind: 'alexa'}" > 
     </select>