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的Ready方法实现并出现的问题
Dec 06 Javascript
图片延迟加载的实现代码(模仿懒惰)
Mar 29 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
Nov 08 Javascript
js中confirm实现执行操作前弹出确认框的方法
Nov 01 Javascript
微信小程序 LOL 英雄介绍开发实例
Sep 30 Javascript
JavaScript对象封装的简单实现方法(3种方法)
Jan 03 Javascript
js实现手机发送验证码功能
Mar 13 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
小程序实现授权登陆的解决方案
Dec 02 Javascript
layui禁用侧边导航栏点击事件的解决方法
Sep 25 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和.net中des加解密的实现方法
2013/02/27 PHP
6个超实用的PHP代码片段
2015/08/10 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
javascript新手语法小结
2008/06/15 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
清明节网上祭英烈活动总结
2014/04/30 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
志愿者个人总结
2015/03/03 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
2019入党申请书格式
2019/06/25 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
Elasticsearch 索引操作和增删改查
2022/04/19 Python
hive数据仓库新增字段方法
2022/06/25 数据库