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 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 Javascript
原生js和jquery实现图片轮播特效
Apr 23 Javascript
javascript实现简单的分页特效
Aug 12 Javascript
jquery实现可旋转可拖拽的文字效果代码
Jan 27 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 Javascript
jsonp跨域请求实现示例
Mar 13 Javascript
关于Promise 异步编程的实例讲解
Sep 01 Javascript
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
详解Vue组件插槽的使用以及调用组件内的方法
Nov 13 Javascript
async/await让异步操作同步执行的方法详解
Nov 01 Javascript
javascript运行机制之执行顺序理解
Aug 03 Javascript
vue实现移动端input上传视频、音频
Aug 18 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
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
详解Python中with语句的用法
2015/04/15 Python
使用Python生成url短链接的方法
2015/05/04 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
Python编码类型转换方法详解
2016/07/01 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python numpy 常用函数总结
2017/12/07 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
Python与C/C++的相互调用案例
2021/03/04 Python
DIY手工制作经营店创业计划书
2014/02/01 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
狮子林导游词
2015/02/03 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书