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 相关文章推荐
激活 ActiveX 控件
Oct 09 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
Jan 19 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
Spring mvc 接收json对象
Dec 10 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
Aug 15 Javascript
谈谈target=_new和_blank的不同之处
Oct 25 Javascript
利用fecha进行JS日期处理
Nov 21 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
Aug 14 Javascript
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
如何从零开始手写Koa2框架
Mar 22 Javascript
js Math数学简单使用操作示例
Mar 13 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
浅析SVN常见问题及解决方法
2013/06/21 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
破解Session cookie的方法
2006/07/28 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
Python AES加密实例解析
2018/01/18 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
python:动态路由的Flask程序代码
2019/11/22 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Python高并发和多线程有什么关系
2020/11/14 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
学校经典推荐信
2013/10/30 职场文书
建筑行业的大学生自我评价
2013/12/08 职场文书
竞选班委演讲稿
2014/04/28 职场文书
团日活动总结书格式
2014/05/08 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
代办出身证明书
2014/10/21 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS