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 仿QQ滑动菜单效果代码
Sep 03 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
Dec 19 Javascript
jquery插件推荐 jquery.cookie
Nov 09 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
Feb 15 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
canvas的神奇用法
Feb 03 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
详解VUE 数组更新
Dec 16 Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
Aug 20 Javascript
详解vue项目接入微信JSSDK的坑
Dec 14 Javascript
关于JavaScript轮播图的实现
Nov 20 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实现支付宝即时到账功能
2016/12/21 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
办公文员的工作岗位职责
2013/11/12 职场文书
中学教师培训制度
2014/01/31 职场文书
店长职务说明书
2014/02/04 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
新课培训心得体会
2014/09/03 职场文书
自我推荐信怎么写
2015/03/24 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis