AngularJS 过滤器的简单实例


Posted in Javascript onJuly 27, 2016

AngularJS 过滤器

过滤器可以使用一个管道字符(|)添加到表达式和指令中。

AngularJS 过滤器

AngularJS 过滤器可用于转换数据:

过滤器 描述
currency 格式化数字为货币格式。
filter 从数组项中选择一个子集。
lowercase 格式化字符串为小写。
orderBy 根据某个表达式排列数组。
uppercase 格式化字符串为大写。

表达式中添加过滤器

过滤器可以通过一个管道字符(|)和一个过滤器添加到表达式中。.

((下面的两个实例,我们将使用前面章节中提到的 person 控制器))

uppercase 过滤器将字符串格式化为大写:

AngularJS 实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

<p>姓名为 {{ lastName | uppercase }}</p>

</div>

<script src="personController.js"></script>

</body>
</html>

 运行结果:

 姓名为   DOE

 lowercase 过滤器将字符串格式化为小写:

AngularJS 实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

<p>姓名为 {{ lastName | lowercase }}</p>

</div>

<script src="personController.js"></script>

</body>
</html>

 运行结果:

姓名为  doe

 currency 过滤器

currency 过滤器将数字格式化为货币格式:

AngularJS 实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="costCtrl">

数量: <input type="number" ng-model="quantity">
价格: <input type="number" ng-model="price">

<p>总价 = {{ (quantity * price) | currency }}</p>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('costCtrl', function($scope) {
  $scope.quantity = 1;
  $scope.price = 9.99;
});
</script>

</body>
</html>

 运行结果:

数量:  价格: 

总价 = $9.99

向指令添加过滤器

过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中。

orderBy 过滤器根据表达式排列数组:

AngularJS 实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="namesCtrl">

<p>循环对象:</p>
<ul>
 <li ng-repeat="x in names | orderBy:'country'">
  {{ x.name + ', ' + x.country }}
 </li>
</ul>

</div>

<script src="namesController.js"></script>

</body>
</html>

运行结果:

循环对象:

  • Kai, Denmark
  • Jani, Norway
  • Hege, Sweden

过滤输入

输入过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中,该过滤器后跟一个冒号和一个模型名称。

filter 过滤器从数组中选择一个子集:

AngularJS 实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="namesCtrl">

<p>输入过滤:</p>

<p><input type="text" ng-model="test"></p>

<ul>
 <li ng-repeat="x in names | filter:test | orderBy:'country'">
  {{ (x.name | uppercase) + ', ' + x.country }}
 </li>
</ul>

</div>

<script src="namesController.js"></script>

</body>
</html>

运行效果:

输入过滤:

  • KAI, Denmark
  • JANI, Norway
  • HEGE, Sweden

以上就是对AngularJS 过滤器的知识整理,后续继续补充,有需要的朋友可以参考下。

Javascript 相关文章推荐
JavaScript面向对象编程
Mar 02 Javascript
Jquery chosen动态设置值实例介绍
Aug 08 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
Nov 22 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
Jan 07 Javascript
jquery实现submit提交表单
Feb 03 Javascript
浅析JS动态创建元素【两种方法】
Apr 20 Javascript
JS及PHP代码编写八大排序算法
Jul 12 Javascript
Js动态设置rem来实现移动端字体的自适应代码
Oct 14 Javascript
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
深入浅析Vue中的Prop
Jun 10 Javascript
分享5个顶级的JavaScript Ajax组件库
Sep 16 Javascript
JavaScript console的使用方法实例分析
Apr 28 Javascript
AngularJS延迟加载html template
Jul 27 #Javascript
AngularJS入门教程之控制器详解
Jul 27 #Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
Jul 27 #Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 #Javascript
AngularJS入门之动画
Jul 27 #Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
Jul 27 #Javascript
获取JS中网页各种高宽与位置的方法总结
Jul 27 #Javascript
You might like
PHP测试程序运行时间的类
2012/02/05 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
Python每天必学之bytes字节
2016/01/28 Python
python实现发送邮件功能
2017/07/22 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
python正则表达式之对号入座篇
2018/07/24 Python
Python中new方法的详解
2019/01/15 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
Django封装交互接口代码
2020/07/12 Python
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
试用期转正鉴定评语
2014/01/27 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
音乐教师求职信
2014/06/28 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS