AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例


Posted in Javascript onApril 21, 2018

本文实例讲述了AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>3water.com ng-repeat去除重复</title>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
  <p ng-repeat="x in items | unique:'id'">
    {{x.id}}---{{x.name}}
  </p>
</div>
<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>

运行结果:

AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例

Javascript 相关文章推荐
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
Feb 15 Javascript
通过DOM脚本去设置样式信息
Sep 19 Javascript
浅析JS中document对象的一些重要属性
Mar 06 Javascript
JavaScript中Function函数与Object对象的关系
Dec 17 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
jQuery简单实现中间浮窗效果
Sep 04 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
Jul 24 Javascript
js+css实现红包雨效果
Jul 12 Javascript
vue实现页面滚动到底部刷新
Aug 16 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
Oct 30 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 #Javascript
AngularJs用户输入动态模板XSS攻击示例详解
Apr 21 #Javascript
vue源码解析之事件机制原理
Apr 21 #Javascript
JavaScript获取用户所在城市及地理位置
Apr 21 #Javascript
在vue-cli项目中使用bootstrap的方法示例
Apr 21 #Javascript
详解webpack模块化管理和打包工具
Apr 21 #Javascript
Node.Js生成比特币地址代码解析
Apr 21 #Javascript
You might like
php中全局变量global的使用演示代码
2011/05/18 PHP
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
php通过COM类调用组件的实现代码
2012/01/11 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
python抓取网页内容并进行语音播报的方法
2018/12/24 Python
Python中Numpy mat的使用详解
2019/05/24 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
区分python中的进程与线程
2020/08/13 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
单位工资证明范本
2015/06/12 职场文书
小学教师读书笔记
2015/07/01 职场文书
公司规章制度范本
2015/08/03 职场文书
物业保洁员管理制度
2015/08/05 职场文书
《牧场之国》教学反思
2016/02/22 职场文书