2017-09-25 48 views
0
我在上過濾字符串與NG選項

如何獲得獨特的元素NG選項

數組假設我有這種類型的

$scope.params.output = ["A","B","A","B","A","B"]; 

數組和HTML的問題

這種類型:

ng-options="item as item for item in params.output | unique : 'item'" 

我選擇渲染所有的數組,沒有過濾它,我哪裏得到錯誤?

+0

是否包含相關的lib在[這個答案](https://stackoverflow.com/a/15941016/492258) –

+0

HTTPS指出:// lodash .com/docs/4.16.4#uniq –

+0

我認爲你應該在params.output上添加獨特的過濾器 –

回答

0

在code.Copy這個js添加unique.js並將其放置在單獨的js文件並將其附加到你的代碼

0

使用本過濾。它會工作。

app.filter('unique', function() { 
    return function(collection, keyname) { 
     var output = [], 
     keys = []; 

     angular.forEach(collection, function(item) { 
      var key = item[keyname]; 
      if(keys.indexOf(key) === -1) { 
       keys.push(key); 
       output.push(item); 
      } 
     }); 

     return output; 
    }; 
}); 

模板

<div ng-repeat="item in items | unique: 'id'"></div> 
+0

這段代碼可以用於數組對象,並且你想要獲得獨特的對象。對於字符串數組,代碼中有一個小修改。 –