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 相关文章推荐
JavaScript 继承详解(三)
Jul 13 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
Dec 29 Javascript
Jquery validation remote 验证的缓存问题解决方法
Mar 25 Javascript
jquery数组过滤筛选方法grep()简介
Jun 06 Javascript
jquery仅用6行代码实现滑动门效果
Sep 07 Javascript
Jquery中map函数的用法
Jun 03 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
js实现模糊匹配功能
Feb 15 Javascript
bootstrap的常用组件和栅格式布局详解
May 02 Javascript
vue.js路由跳转详解
Aug 28 Javascript
vue实现购物车结算功能
Jun 18 Javascript
JS前端轻量fabric.js系列之画布初始化
Aug 05 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
React全家桶环境搭建过程详解
2018/05/18 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
python实现word 2007文档转换为pdf文件
2018/03/15 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
普通简短的个人自我评价
2014/02/15 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
普通员工辞职信范文
2015/05/12 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
学术会议开幕词
2016/03/03 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
win10更新失败无限重启解决方法
2022/04/19 数码科技