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的Theme和Theme Switcher使用小结
Sep 08 Javascript
JavaScript 验证码的实例代码(附效果图)
Mar 22 Javascript
JS实现图片放大镜效果的方法
Feb 27 Javascript
JavaScript中诡异的delete操作符
Mar 12 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
js模拟支付宝密码输入框
Apr 11 Javascript
vue-quill-editor实现图片上传功能
Aug 08 Javascript
基于vue的换肤功能的示例代码
Oct 10 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
Dec 20 Javascript
微信小程序如何自定义table组件
Jun 29 Javascript
js实现树形数据转成扁平数据的方法示例
Feb 27 Javascript
vue proxy 的优势与使用场景实现
Jun 15 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中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
限制文本字节数js代码
2007/03/06 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
js闭包学习心得总结
2018/04/17 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
python右对齐的实例方法
2020/07/05 Python
Django中使用Celery的方法步骤
2020/12/07 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
运动会演讲稿200字
2014/08/25 职场文书
《将心比心》教学反思
2016/02/23 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
创业计划书之寿司
2019/07/19 职场文书