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 chrome浏览器判断代码
Mar 28 Javascript
jquery限制输入字数,并提示剩余字数实现代码
Dec 24 Javascript
ExtJS4中使用mixins实现多继承示例
Dec 03 Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 Javascript
angularjs实现文字上下无缝滚动特效代码
Sep 04 Javascript
javascript实现消灭星星小游戏简单版
Nov 15 Javascript
AngularJS封装指令方法详解
Dec 12 Javascript
AngularJS中$apply方法和$watch方法用法总结
Dec 13 Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
angularjs 页面自适应高度的方法
Jan 17 Javascript
Vue.extend实现挂载到实例上的方法
May 01 Javascript
JavaScript 中的六种循环方法
Jan 06 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
yii框架源码分析之创建controller代码
2011/06/28 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
php实现可逆加密的方法
2015/08/11 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
thinkphp5 路由分发原理
2021/03/18 PHP
Grid 宫格常用布局的实现
2020/01/10 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
公共场所禁烟标语
2014/06/25 职场文书
求职自我评价范文100字
2014/09/23 职场文书
群众路线调研报告范文
2014/11/03 职场文书
田径运动会通讯稿
2015/07/18 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang
MySQL范围查询优化的场景实例详解
2022/06/10 MySQL
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技