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 相关文章推荐
jQuery 表单验证扩展代码(一)
Oct 11 Javascript
javascript定义函数的方法
Dec 06 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
Jun 20 Javascript
一波JavaScript日期判断脚本分享
Mar 06 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
May 29 Javascript
jQuery动画_动力节点节点Java学院整理
Jul 04 jQuery
JavaScript之Canvas_动力节点Java学院整理
Jul 04 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
js实现Tab选项卡切换效果
Jul 17 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
Feb 09 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
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
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
php查询whois信息的方法
2015/06/08 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
javascript搜索框效果实现方法
2015/05/14 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
Python2.x与Python3.x的区别
2016/01/14 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
PyQT实现多窗口切换
2018/04/20 Python
想学python 这5本书籍你必看!
2018/12/11 Python
python requests post多层字典的方法
2018/12/27 Python
详解python中*号的用法
2019/10/21 Python
解决python运行启动报错问题
2020/06/01 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
应用艺术毕业生的自我评价
2013/12/04 职场文书
书香家庭事迹材料
2014/05/09 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
简述Java中throw-throws异常抛出
2021/08/07 Java/Android