AngularJS入门教程之过滤器用法示例


Posted in Javascript onNovember 02, 2016

本文实例讲述了AngularJS过滤器用法。分享给大家供大家参考,具体如下:

在前面几节里我们已经接触过AngularJS的表达式,表达式的作用是向视图中输出字面量或$scope对象中的属性值。在输出之前我们可以通过过滤器来格式化输出的数据。

过滤器的使用非常简单,我们看一下下面的代码:

<!DOCTYPE html>
<html ng-app>
<head lang="en">
 <meta charset="UTF-8">
 <script type="text/javascript" src="angular-1.3.0.14/angular.js"></script>
 <title>tutorial05_1</title>
</head>
<body>
 <p>{{"HELLO WORLD!"| lowercase}}</p>
 <p>{{"hello world!"| uppercase}}</p>
 <p>{{3.1415926| number:2}}</p>
 <p>{{3011| currency}}</p>
</body>
</html>

两个嵌套的大括号即为AngularJs的表达式,我们通过|字符后跟上过滤器名称来调用该过滤器。lowercase,uppercase,number,currency为AngularJs内置的过滤器。

lowercase用来把文本中的字母转换为小写,uppercase和它相反,number过滤器用来控制数字的格式,currency则把数字转换成金额格式。

我们看一下在浏览器中的效果:

AngularJS入门教程之过滤器用法示例

AngularJs提供的内置过滤器功能很有限,下面介绍如何自定义过滤器。

<!DOCTYPE html>
<html ng-app="filterMod">
<head lang="en">
 <meta charset="UTF-8">
 <script type="text/javascript" src="angular-1.3.0.14/angular.js"></script>
 <title>tutorial05_2</title>
</head>
<body>
 <p>{{11314| toRMB}}</p>
<script>
 var filterMod = angular.module("filterMod",[]);
 filterMod.filter("toRMB",function($log)
 {
  var toRMB = function(input)
  {
   var RMBNum = ['零',"壹","贰","叁","肆","伍","陆","柒","捌","玖","拾","佰","仟","万","亿"];
   var inputStr = input + "";
   var inputArr = new Array();
   for(i=0;i<inputStr.length;i++)
   {
    var temp = parseInt(input % 10);
    inputArr.push(temp);
    switch(i)
    {
     case 0:inputArr.push(10);
      break;
     case 1:inputArr.push(11);
      break;
     case 2:inputArr.push(12);
      break;
     case 3:inputArr.push(13);
      break;
    }
    input = input / 10;
   }
   inputArr = inputArr.reverse();
   var output = "";
   for(i=0;i<inputArr.length;i++)
   {
    output += RMBNum[inputArr[i]];
   }
   return output;
  }
  return toRMB;
 });
</script>
</body>
</html>

上面是笔者自定义的一个?⑹?肿?怀扇嗣癖掖笮春鹤值墓?似鳌?/p>

filterMod.filter("toRMB",function($log)...

过滤器的定义和控制器类似,我们通过AngularJs模块的filter方法来完成,第一个参数为过滤器的名称,第二个参数为过滤器实现部分,它必须返回一个数据处理函数。

var toRMB = function(input)...

这一部分为数据处理函数,input为原始输入数据,我们在该函数中对输入数据进行处理,然后return 处理过后的数据即可。

在浏览器中效果:

AngularJS入门教程之过滤器用法示例

注意:这个toRMB 过滤器只是笔者为了演示自定义过滤器的方法而编写的,还有很多不足的地方,有兴趣的读者可以自行完善。

AngularJS源码可点击此处本站下载

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
从JavaScript 到 JQuery (1)学习小结
Feb 12 Javascript
Html中JS脚本执行顺序简单举例说明
Jun 19 Javascript
JS拖动技术 关于setCapture使用
Dec 09 Javascript
js判断字符是否是汉字的两种方法小结
Jan 03 Javascript
html dom节点操作(获取/修改/添加或删除)
Jan 23 Javascript
基于jquery实现省市联动效果
Nov 23 Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 Javascript
JavaScript实现简单生成随机颜色的方法
Sep 21 Javascript
详细分析JS函数去抖和节流
Dec 05 Javascript
vue轻量级框架无法获取到vue对象解决方法
May 12 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
Dec 10 Javascript
解决antd的Form组件setFieldsValue的警告问题
Oct 29 Javascript
JavaScript基础——使用Canvas绘图
Nov 02 #Javascript
js实现砖头在页面拖拉效果
Nov 20 #Javascript
AngularJS入门教程之模块化操作用法示例
Nov 02 #Javascript
js 打开新页面在屏幕中间的实现方法
Nov 02 #Javascript
jQuery图片切换动画特效
Nov 02 #Javascript
用jQuery的AJax实现异步访问、异步加载
Nov 02 #Javascript
AngularJS入门教程之MVC架构实例分析
Nov 01 #Javascript
You might like
十天学会php之第九天
2006/10/09 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
php实现将数组转换为XML的方法
2015/03/09 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
Javascript - HTML的request类
2007/01/09 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
Python 文件处理注意事项总结
2017/04/10 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
python 读入多行数据的实例
2018/04/19 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
义诊活动通知
2015/04/24 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
HttpClient实现文件上传功能
2022/08/14 Java/Android