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继承的实现代码
Aug 05 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
JavaScript中的函数重载深入理解
Aug 04 Javascript
JavaScript实现简单Tip提示框效果
Apr 20 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
Sep 08 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
Sep 07 Javascript
node.js express捕获全局异常的三种方法实例分析
Dec 27 Javascript
通过实例了解Javascript柯里化流程
Mar 03 Javascript
js通过canvas生成图片缩略图
Oct 02 Javascript
vue将文件/图片批量打包下载zip的教程
Oct 21 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
Nov 11 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
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
jquery.validate的使用说明介绍
2013/11/12 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python中List的sort方法指南
2014/09/01 Python
提升Python程序运行效率的6个方法
2015/03/31 Python
python开发之list操作实例分析
2016/02/22 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
五一服装活动方案
2014/01/11 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
五一手机促销方案
2014/03/08 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
公司地址变更通知
2015/04/25 职场文书
公司行政管理制度范本
2015/08/05 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书