AngularJS Filters


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


AngularJS 过滤器

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

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

表达式中添加过滤器

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

  1. <div ng-app="myApp" ng-controller="personCtrl">
  2.  
  3. FirstName:<input type="text" ng-model="firstName"><br>
  4. LastName:<input type="text" ng-model="lastName"><br>
  5. <br>
  6. FullName:{{firstName +" "+ lastName}}
  7.  
  8. </div>
  9.  
  10. <script src="personController.js"></script>
 
 personController.js 
  1. angular.module('myApp',[]).controller('personCtrl', function($scope){
  2. $scope.firstName ="John",
  3. $scope.lastName ="Doe",
  4. $scope.fullName = function(){
  5. return $scope.firstName +" "+ $scope.lastName;
  6. }
  7. });
 
 

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

  1. <div ng-app="myApp" ng-controller="personCtrl">
  2. <p>姓名为{{ lastName | uppercase }}</p>
  3. </div>
 

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

  1. <div ng-app="myApp" ng-controller="personCtrl">
  2. <p>姓名为{{ lastName | lowercase }}</p>
  3. </div>
 

currency 过滤器

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

  1. <div ng-app="myApp" ng-controller="costCtrl">
  2. <input type="number" ng-model="quantity">
  3. <input type="number" ng-model="price">
  4. <p>总价={{(quantity * price)| currency }}</p>
  5. </div>
 

向指令添加过滤器

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

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

  1. <div ng-app="myApp" ng-controller="namesCtrl">
  2. <ul>
  3. <li ng-repeat="x in names | orderBy:'country'">
  4. {{ x.name +', '+ x.country }}
  5. </li>
  6. </ul>
  7. <div>
 

过滤输入

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

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

  1. <div ng-app="myApp" ng-controller="namesCtrl">
  2. <p><input type="text" ng-model="test"></p>
  3. <ul>
  4. <li ng-repeat="x in names | filter:test | orderBy:'country'">
  5. {{(x.name | uppercase)+', '+ x.country }}
  6. </li>
  7. </ul>
  8. </div>
 
 
魔芋练习:
 
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="renderer" content="webkit">
  6. <!--360,以webkit内核进行渲染-->
  7. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  8. <!--以最新内核进行渲染。-->
  9. <meta http-equiv="Cache-Control" content="no-siteapp"/>
  10. <!--百度禁止转码-->
  11. <title>moyu demo</title>
  12. <meta name="keywords" content="demo 测试 魔芋">
  13. <meta name="description" content="魔芋的测试示例">
  14. <meta name="robots" content="index,follow">
  15. <!--定义网页搜索引擎索引方式-->
  16. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  17. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
  18. <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
  19. <style>
  20. </style>
  21. </head>
  22. <body>
  23. <div ng-app="myApp" ng-controller="myCtrl">
  24. <input type="text" ng-model="firstName">
  25. <input type="text" ng-model="lastName">
  26. <p>{{firstName +' '+ lastName}}</p>
  27. <p>{{firstName|uppercase}}</p>
  28. <p>{{price|currency}}</p>
  29. <ul>
  30. <li ng-repeat="x in moyuList|orderBy:'country'">
  31. {{x.name+","+ x.country}}
  32. </li>
  33. </ul>
  34. <p>filter</p>
  35. <p>
  36. <input type="text" ng-model="test">
  37. </p>
  38. <ul>
  39. <li ng-repeat="x in moyuList | filter:test | orderBy:'country'">
  40. {{x.name+","+ x.country}}
  41. </li>
  42. </ul>
  43. </div>
  44. <script>
  45. var app = angular.module('myApp',[]);
  46. app.controller('myCtrl',function($scope){
  47. $scope.firstName ="mo";
  48. $scope.lastName ="yu";
  49. $scope.price =123;
  50. $scope.moyuList =[{
  51. name:"上海",
  52. country:"2上海市"
  53. },{
  54. name:"湖北",
  55. country:"1武汉"
  56. },{
  57. name:"湖南",
  58. country:"3长沙"
  59. }]
  60. })
  61. </script>
  62. </body>
  63. </html>
 
结果:
 
 
 
 
 

【07】AngularJS Filters的更多相关文章

  1. SSAS系列——【07】多维数据(查询Cube)

    原文:SSAS系列——[07]多维数据(查询Cube) 1.什么是MDX? MDX叫做"多维表达式",是一种查询语言,是一种和SQL类似的查询语言,它基于 XML for Anal ...

  2. 【西祠日志】【07】努力努力,找资料,思考,怎么做asp图片上传

    [西祠日志][07]努力努力,找资料.思考.怎么做asp图片上传  (2015.07.23周四) 今天忘了带本子.直接写在书上了笔记,晚点还是夹在本子里. 学了这么久的web应用,一直都没时间去做一点 ...

  3. 【07】像使用命令行一样使用 GitHub URL

    [07] 像使用命令行一样使用 GitHub URL 既然说到了 URL,那么久接着聊一下.使用 UI 浏览 GitHub 很 方面也很好,不过很多时候最快的方式是使用 URL 来浏览.举个例子,如果 ...

  4. 【07】Firebug监控网络情况

    [07] Firebug监控网络情况 Firebug可以监控网页中每个文件加载的时间. 打开Firebug.点击"网络",然后确定已经启用,重新载入当前页面.Firebug显示如下 ...

  5. 【07】QQ群管理公告小结:

    [07]QQ群管理公告小结:   01,请看公告遵守相关规定. 02,群内除QQ自带的缺省表情外(不是QQ的VIP或大图表情),禁止发送大表情,大图片(展示问题的屏幕截图除外),   03,修改群名片 ...

  6. 【07】循序渐进学 docker:数据持久化

    写在前面的话 学到这里相信有心的朋友都发现问题了,我们每次都会去删掉容器,在创建新的容器.那数据怎么办?岂不删库跑路了? 就算不是数据库,假设公司有日志保留的需求,那每一次发布岂不日志都被干掉了? D ...

  7. 【转】angularjs指令中的compile与link函数详解

    这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下   通常大家在 ...

  8. 【面试】【Spring常见问题总结】【07】

    [常见面试问题总结文件夹>>>] 61.Spring IoC容器的依赖有两层含义: Bean依赖容器:也就是说Bean要依赖于容器,这里的依赖是指容器负责创建Bean并管理Bean的 ...

  9. 【转】AngularJS 取消对 HTML 片段的转义

    今天尝试用 Rails 做后端提供 JSON 格式的数据, AngularJS 做前端处理 JSON 数据,其中碰到 AngularJS 获取的是一段 HTML 文本,如果直接使用 data-ng-b ...

随机推荐

  1. Java多线程系列三——实现线程同步的方法

    两种实现线程同步的方法 方法 特性 synchronized 不需要显式地加解锁,易实现 ReentrantLock 需要显式地加解锁,灵活性更好,性能更优秀,结合Condition可实现多种条件锁 ...

  2. MyBatis基本应用

    框架的概念: 框架(Framework)是一个提供了可重用的公共结构的半成品. 数据持久化: 数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称. ORM(Obj ...

  3. Windows 和 Linux 上Redis的安装守护进程配置

    # Windows 和 Linux 上Redis的安装守护进程配置 Redis 简介 ​ Redis是目前最常用的非关系型数据库(NOSql)之一,常以Key-Value的形式存储.Redis读写速度 ...

  4. 回调函数,回调函数使用call

    回调函数:一个函数b作为参数,给另外一个函数a使用.并且在执行a之后(注意不一定是执行完a),再去执行b这个函数. 上代码: function a(callback) { alert("我是 ...

  5. linux学习之路3 文件系统结构

    一些有用的定义: linux文件系统为一个倒转的单根树状结构 文件系统的根为"/" linux系统文件严格区分大小写,而windows系统不区分大小写 路径使用"/&qu ...

  6. java IO流 之 字节输出流 OutputString()

    Java学习重点之一:OutputStream 字节输出流的使用 FileOutPutStream:子类,写出数据的通道 步骤: 1.获取目标文件 2.创建通道(如果原来没有目标文件,则会自动创建一个 ...

  7. Spring.Net学习笔记(3)-创建对象

    一.开发环境 编译器:VS2013 .Net版本:.net framework4.5 二.涉及程序集 Spring.Core.dll:1.3 Common.Logging 三.开发过程 1.项目结构 ...

  8. Spring.Net学习笔记(1)-容器的使用

    一.下载地址: http://www.springframework.net/download.html 二.相关程序集 Spring.Net容器定义在程序集Spring.Core.dll中,它依赖于 ...

  9. Spring-Aop的两种代理方式

    Spring-Aop两种代理方式: 1.JDK动态代理:用于目标类实现了接口: 2.Cglib动态代理:用于目标类没有实现接口: spring会依据目标类是否实现接口来选择使用哪种代理方式(目标类:相 ...

  10. [ NOI 2002 ] 银河英雄传说

    \(\\\) Description 有 \(n\) 列战场,每一列一开始只有一个战舰,编号就是对应的战场编号. 有 \(m\) 次操作: \(M_{i,j}\) :把 \(i\) 所在的一整列接在 ...