ホームページ > ウェブフロントエンド > jsチュートリアル > AngularJS は Filter カスタム フィルターを使用して ng-repeat を制御し、重複した関数を削除する例

AngularJS は Filter カスタム フィルターを使用して ng-repeat を制御し、重複した関数を削除する例

不言
リリース: 2018-04-21 16:12:46
オリジナル
1835 人が閲覧しました

この記事では、主に AngularJS のフィルター カスタム フィルターを使用して ng-repeat を制御し、重複した関数を削除する方法を紹介します。AngularJS のカスタム フィルターの定義と配列フィルター関連の操作スキルをサンプルの形式で分析します。

この例では、AngularJS が Filter カスタム フィルターを使用して ng-repeat を制御し、重複を削除する方法を説明します。参考までに皆さんと共有してください。詳細は次のとおりです:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>www.jb51.net 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(&#39;common&#39;, []).filter(&#39;unique&#39;, 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(&#39;myApp&#39;, [&#39;common&#39;]);
  app.controller(&#39;myCtrl&#39;, function ($scope) {
    //$scope.items = [1, 2, 3,2];
    //当前unique 的过滤只针对,对象数组过滤
    $scope.items = [
      { id: 1, name: &#39;zhangsan&#39; },
      { id: 2, name: &#39;lisi&#39; },
      { id: 1, name: &#39;zhangsan&#39; },
    ];
  });
</script>
</body>
</html>
ログイン後にコピー

操作結果:

関連する推奨事項:

AngularJS での $destory の使用法についての簡単な説明

配列フィルタ 配列要素をフィルタリングする メソッド

以上がAngularJS は Filter カスタム フィルターを使用して ng-repeat を制御し、重複した関数を削除する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート