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 AnythingSlider滑动效果插件
Feb 07 Javascript
javascript获得网页窗口实际大小的示例代码
Sep 21 Javascript
JS实现控制表格内指定单元格内容对齐的方法
Mar 30 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
Nov 03 Javascript
Web开发必知Javascript技巧大全
Feb 23 Javascript
bootstrap table表格插件使用详解
May 08 Javascript
详解如何用webpack打包一个网站应用项目
Jul 12 Javascript
js判断文件类型大小并给出提示的实现方法
Jan 03 Javascript
vue+springboot实现项目的CORS跨域请求
Sep 05 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 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自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
js实现左右轮播图
2020/01/09 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
python Timer 类使用介绍
2020/12/28 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
幼儿园招生广告
2014/03/19 职场文书
建议书的格式
2014/05/12 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
出售房屋协议书范本
2014/10/06 职场文书
教师节标语大全
2014/10/07 职场文书
学前班语言教学计划
2015/01/20 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
举起手来观后感
2015/06/09 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
MySQL连接控制插件介绍
2021/09/25 MySQL
聊聊redis-dump工具安装问题
2022/01/18 Redis
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers