AngularJS常见过滤器用法实例总结


Posted in Javascript onJuly 06, 2017

本文实例讲述了AngularJS常见过滤器用法。分享给大家供大家参考,具体如下:

过滤器用来格式化需要展示给用户的数据。在HTML中的模板绑定符号 {{ }} 内通过 | 符号来调用过滤器。以下是常用的过滤器。

大小写过滤器

{{ name | uppercase }} 大写过滤器
{{ name | lowercase}} 小写过滤器

实例:(大写过滤器)

<div ng-controller='myController'>
  姓氏: <input type="text" ng-model="student.firstName"></br></br>
  名字: <input type="text" ng-model="student.lastName"></br></br>
  名字转大写: {{student.fullName() | uppercase}}
</div>
<script>
var app=angular.module('app',[]);
app.controller('myController',function($scope){
  $scope.student={
    firstName: "xu",
    lastName: "xiaohong",
    fullName:function(){
      var studentObject;
      studentObject = $scope.student;
      return studentObject.firstName + studentObject.lastName;
    }
  };
});
</script>

货币过滤器

currecy 过滤器可以将一个数值格式化为货币格式。用 {{ 123 | currency }} 来将123转化成货币格式。currecy 过滤器允许我们自己设置货币符号。默认情况下会采用客户端所处区域的货币符号,但是也可以自定义货币符号。如下:

<div ng-controller='myController'>
  Enter fees: <input type="text" ng-model="student.fees"></br>
  fees: {{student.fees | currency:'¥'}}
</div>
<script>
var app=angular.module('app',[]);
app.controller('myController',function($scope){
  $scope.student={
    fees:500
  };
});
</script>

日期过滤器

date 过滤器可以将日期格式化成需要的格式。如下:

<div ng-controller='myController'>
  {{data | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}
</div>
<script>
var app=angular.module('app',[]);
app.controller('myController',function($scope){
  $scope.data=new Date();
});
</script>

limitTo过滤器

limitTo过滤器用来截取数组或字符串,接收一个参数用来指定截取的长度。实例:

<body ng-controller="test">
  {{ childrenArray | limitTo : 2 }}
  <script>
    var app=angular.module('app',[]);
    app.controller('test',function($scope){
      $scope.childrenArray = [
        {name:'kimi',age:3},
        {name:'cindy',age:4},
        {name:'anglar',age:4},
        {name:'shitou',age:6},
        {name:'tiantian',age:5}
      ];
    });
  </script>
</body>

orderBy过滤器:

orderBy过滤器可以将一个数组中的元素进行排序,接收一个参数来指定排序规则,参数可以是一个字符串,表示以该属性名称进行排序。可以是一个函数,定义排序属性。还可以是一个数组,表示依次按数组中的属性值进行排序(若按第一项比较的值相等,再按第二项比较),还是拿上面的孩子数组举例:

<div>{{ childrenArray | orderBy : 'age' }}</div>   //按age属性值进行排序
<div>{{ childrenArray | orderBy : orderFunc }}</div>  //按照函数的返回值进行排序
<div>{{ childrenArray | orderBy : ['age','name'] }}</div> //如果age相同,按照name进行排序

自定义过滤器:

AngularJS编写自定义过滤器的形式和AngularJS的factory service非常相像,一定记得它返回一个对象或者是一个函数即可,编写的时候,只需要一个带有一个以上参数的函数即可。格式大致如下:

app.filter('filter(过滤器)名称',function(){
      return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){
           //...执行业务逻辑代码
           return 处理后的对象;
      }
});

实例:(首字母大写)

{{ 'ginger loves dog treats' | capitalize }}
<script>
  var app=angular.module('app',[]);
  app.filter('capitalize',function(){
    return function(input){
      if(input){
        return input.charAt(0).toUpperCase() + input.slice(1);
      }
    }
  })
</script>

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
基于js disabled=&quot;false&quot;不起作用的解决办法
Jun 26 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
Jul 10 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
Apr 02 Javascript
JS解析XML实例分析
Jan 30 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
Dec 26 Javascript
JS实现的样式切换功能tableCSS实例
Dec 30 Javascript
bootstrap multiselect下拉列表功能
Aug 22 Javascript
命令行批量截图Node脚本示例代码
Jan 25 Javascript
vue 实现小程序或商品秒杀倒计时
Apr 14 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
Apr 15 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 Javascript
36个正则表达式(开发效率提高80%)
Nov 17 Javascript
Vue学习之路之登录注册实例代码
Jul 06 #Javascript
AngularJS中ng-class用法实例分析
Jul 06 #Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 #jQuery
JS图片轮播与索引变色功能实例详解
Jul 06 #Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 #jQuery
vue2.0 keep-alive最佳实践
Jul 06 #Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 #Javascript
You might like
在项目中寻找代码的坏命名
2012/07/14 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
为超链接加上disabled后的故事
2010/12/10 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
Python sorted对list和dict排序
2020/06/09 Python
Python如何将模块打包并发布
2020/08/30 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
学生就业推荐信
2013/11/13 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
书法大赛策划方案
2014/06/04 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
实名检举信范文
2015/03/02 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
国际贸易实训总结
2015/08/03 职场文书
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python