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 相关文章推荐
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
Jun 04 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
Nov 30 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
Jun 04 Javascript
Jquery简单实现GridView行高亮的方法
Jun 15 Javascript
JavaScript中关于iframe滚动条的去除和保留
Nov 17 Javascript
JavaScript判断浏览器及其版本信息
Jan 20 Javascript
js实现从左向右滑动式轮播图效果
Jul 07 Javascript
vue实现图书管理demo详解
Oct 17 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 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
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
python requests.post带head和body的实例
2019/01/02 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
历史系毕业生自荐信
2013/10/28 职场文书
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
大学新生军训自我鉴定范文
2014/09/13 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
聘任通知书
2015/09/21 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL