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下的keyCode键码值表
Apr 10 Javascript
js小技巧--自动隐藏红叉叉
Aug 13 Javascript
jQuery.query.js 取参数的两点问题分析
Aug 06 Javascript
javascript时间函数基础介绍
Mar 28 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
Aug 16 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
Jun 17 Javascript
javascript中的隐式调用
Feb 10 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
一些可能会用到的Node.js面试题
Jun 15 Javascript
详解在Angular4中使用ng2-baidu-map的方法
Jun 19 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抓取页面的几种方法详解
2013/06/17 PHP
php验证码生成代码
2015/11/11 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
Python修改Excel数据的实例代码
2013/11/01 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
python collections模块的使用
2020/10/16 Python
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
知识竞赛活动方案
2014/02/18 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
五水共治一句话承诺
2014/05/30 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
医院见习总结
2015/06/24 职场文书
详解Python牛顿插值法
2021/05/11 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技