首頁 >web前端 >js教程 >怎麼操作AngularJS使用Filter自訂過濾器控制ng-repeat去重

怎麼操作AngularJS使用Filter自訂過濾器控制ng-repeat去重

php中世界最好的语言
php中世界最好的语言原創
2018-06-02 14:11:042195瀏覽

這次帶給大家怎樣操作AngularJS使用Filter自訂過濾器控制ng-repeat去重,操作AngularJS使用Filter自訂過濾器控制ng-repeat去重的注意事項有哪些,下面就是實戰案例,一起來看一下。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> ng-repeat去除重复</title>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<p ng-app="myApp" ng-controller="myCtrl">
  <p ng-repeat="x in items | unique:&#39;id&#39;">
    {{x.id}}---{{x.name}}
  </p>
</p>
<script>
  //AngularJs 自定义过滤器
  //1.使用过滤器,去除重复
  angular.module('common', []).filter('unique', function () {
    return function (collection, keyname) {
      console.info(collection);
      console.info(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;
    }
  });
  var app = angular.module('myApp', ['common']);
  app.controller('myCtrl', function ($scope) {
    //$scope.items = [1, 2, 3,2];
    //当前unique 的过滤只针对,对象数组过滤
    $scope.items = [
      { id: 1, name: 'zhangsan' },
      { id: 2, name: 'lisi' },
      { id: 1, name: 'zhangsan' },
    ];
  });
</script>
</body>
</html>

運行結果:

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

如何使用jQuery中圖片展示外掛程式highslide.js

##怎麼實作Vue下捲動到頁面底部無限載入資料

以上是怎麼操作AngularJS使用Filter自訂過濾器控制ng-repeat去重的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn