AngularJS 自定义过滤器详解及实例代码


Posted in Javascript onSeptember 14, 2016

     AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果。

通过使用管道,可以便于双向的数据绑定中视图的展现。

过滤器在处理过程中,将数据变成新的格式,而且可以使用管道这种链式风格,还能接受附加的参数。

实现方式

下面看一下如何定义声明一个过滤器,首先依然是要创建我们自己的模块myAppModule

                   var myAppModule=agular.module("myApp",[]);

接下来在模块的基础上,创建过滤器:

myAppModule.filter("reverse",function(){
           
});

其中reverse是过滤器的名字,后面跟着过滤器的方法声明,在方法中返回另一个方法:

myAppModule.filter("reverse",function(){
        return function(input,uppercase){
          var out = "";
          for(var i=0 ; i<input.length; i++){
            out = input.charAt(i)+out;
          }
          if(uppercase){
            out = out.toUpperCase();
          }
          return out;
        }
      });

内部返回的方法包含了两个参数,一个是输入的值,就是我们过滤器接受的值。

如果想要实现下面的过滤器:

name | reverse

则input就是其中name代表的值。

后面的参数是可选的,我们这里接受uppercase这个bool值,判断是否要进行大小写转换。

内部实现的代码,就没必要解释了。最后返回过滤后的字符串即可。

  程序样例

<!doctype html>
<html ng-app="myApp">
  <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
  </head>
  <body>

    <div ng-controller="myAppCtrl">
      name:{{ name }}<br>
      reverse name:{{ name | reverse }}<br>
      reverse&uppercase name:{{ name | reverse:true }}
    </div>
    <script type="text/javascript">
      var myAppModule = angular.module("myApp",[]);

      myAppModule.controller("myAppCtrl",["$scope",function($scope){
        $scope.name = "xingoo";
      }]);

      myAppModule.filter("reverse",function(){
        return function(input,uppercase){
          var out = "";
          for(var i=0 ; i<input.length; i++){
            out = input.charAt(i)+out;
          }
          if(uppercase){
            out = out.toUpperCase();
          }
          return out;
        }
      });
    </script>
  </body>
</html>

运行结果

AngularJS 自定义过滤器详解及实例代码

以上就是对AngularJS 自定义过滤器 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
May 21 Javascript
Mootools 1.2教程 函数
Sep 15 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
May 30 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 Javascript
JavaScript学习笔记之ES6数组方法
Mar 25 Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 Javascript
微信小程序 开发经验整理
Feb 15 Javascript
zTree树形插件异步加载方法详解
Jun 14 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
vue中使用v-model完成组件间的通信
Aug 22 Javascript
vue 封装面包屑组件教程
Nov 16 Javascript
AngularJS 中的Promise --- $q服务详解
Sep 14 #Javascript
AngularJS bootstrap启动详解及实例代码
Sep 14 #Javascript
AngularJS equal比较对象实例详解
Sep 14 #Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 #Javascript
AngularJS $injector 依赖注入详解
Sep 14 #Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 #Javascript
详解XMLHttpRequest(一)同步请求和异步请求
Sep 14 #Javascript
You might like
PHP邮件专题
2006/10/09 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
php发送邮件的问题详解
2015/06/22 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
css图片自适应大小
2007/11/28 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
Python学习资料
2007/02/08 Python
Python 对象中的数据类型
2017/05/13 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
python Gabor滤波器讲解
2020/10/26 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
RentCars.com巴西:汽车租赁网站
2016/08/22 全球购物
办公室文员岗位职责范本
2014/06/12 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
深入理解pytorch库的dockerfile
2022/06/10 Python