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 相关文章推荐
JQuery实现自定义对话框的代码
Jun 15 Javascript
JavaScript 事件对象的实现
Jul 13 Javascript
js实时获取系统当前时间实例代码
Jun 28 Javascript
javascript创建数组之联合数组的使用方法示例
Dec 26 Javascript
在Firefox下js select标签点击无法弹出
Mar 06 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
详解Vue快速零配置的打包工具——parcel
Jan 16 Javascript
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
JS使用iView的Dropdown实现一个右键菜单
May 06 Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python中将字典转换为列表的方法
2016/09/21 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
对Python _取log的几种方式小结
2019/07/25 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
管理科学大学生求职信
2013/11/13 职场文书
市场开发计划书
2014/05/07 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
刑事辩护词范文
2015/05/21 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
2019 入党申请书范文
2019/07/10 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
使用feign服务调用添加Header参数
2021/06/23 Java/Android
python实现商品进销存管理系统
2022/05/30 Python