【07】AngularJS Filters

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="author" content="魔芋,[email protected],http://www.cnblogs.com/moyuling/">
  15. <meta name="robots" content="index,follow">
  16. <!--定义网页搜索引擎索引方式-->
  17. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  18. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
  19. <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
  20. <style>
  21. </style>
  22. </head>
  23. <body>
  24. <div ng-app="myApp" ng-controller="myCtrl">
  25. <input type="text" ng-model="firstName">
  26. <input type="text" ng-model="lastName">
  27. <p>{{firstName +‘ ‘+ lastName}}</p>
  28. <p>{{firstName|uppercase}}</p>
  29. <p>{{price|currency}}</p>
  30. <ul>
  31. <li ng-repeat="x in moyuList|orderBy:‘country‘">
  32. {{x.name+","+ x.country}}
  33. </li>
  34. </ul>
  35. <p>filter</p>
  36. <p>
  37. <input type="text" ng-model="test">
  38. </p>
  39. <ul>
  40. <li ng-repeat="x in moyuList | filter:test | orderBy:‘country‘">
  41. {{x.name+","+ x.country}}
  42. </li>
  43. </ul>
  44. </div>
  45. <script>
  46. var app = angular.module(‘myApp‘,[]);
  47. app.controller(‘myCtrl‘,function($scope){
  48. $scope.firstName ="mo";
  49. $scope.lastName ="yu";
  50. $scope.price =123;
  51. $scope.moyuList =[{
  52. name:"上海",
  53. country:"2上海市"
  54. },{
  55. name:"湖北",
  56. country:"1武汉"
  57. },{
  58. name:"湖南",
  59. country:"3长沙"
  60. }]
  61. })
  62. </script>
  63. </body>
  64. </html>

结果:

时间: 2024-10-02 03:48:01

【07】AngularJS Filters的相关文章

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

[西祠日志][07]努力努力,找资料,思考,怎么做asp图片上传  (2015.07.23周四) 今天忘了带本子,直接写在书上了笔记,晚点还是夹在本子里: 学了这么久的web应用,一直都没时间去做一点,相对复杂点得应用,比如现在要考虑的图片上传,或者是接下来要加强学习的正则表达式.防SQL注入.验证码的实现.图片水印功能等,这的确是应该作为我学习的第二个阶段,做一点相对复杂一点的应用功能,考虑怎样使自己做的网站更加健壮,今天主要是在找asp资料学习图片上传,考虑了下js实现web富文本编辑器,然

SSAS系列&mdash;&mdash;【07】多维数据(查询Cube)

原文:SSAS系列——[07]多维数据(查询Cube) 1.什么是MDX? MDX叫做"多维表达式",是一种查询语言,是一种和SQL类似的查询语言,它基于 XML for Analysis (XMLA) 规范,并带有特定于 SQL Server Analysis Services 的扩展. 2.MDX与SQL有什么区别? 学东西,总是喜欢"先入为主",在学习MDX的时候我第一个想法是:MDX与SQL有什么区别?其实搞清楚这个问题后,MDX是什么也就算搞清楚了.SQL

【07】覆盖物(百度地图覆盖物笔记)

[07]覆盖物 地图覆盖物概述 所有叠加或覆盖到地图的内容,我们统称为地图覆盖物.如标注.矢量图形元素(包括:折线和多边形和圆).信息窗口等.覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动. 地图API提供了如下几种覆盖物: Overlay:覆盖物的抽象基类,所有的覆盖物均继承此类的方法. Marker:标注表示地图上的点,可自定义标注的图标. Label:表示地图上的文本标注,您可以自定义标注的文本内容. Polyline:表示地图上的折线. Polygon:表示地图上的多边

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

这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link,post-link的用法与区别. angularjs里的指令非常神奇,允许你创建非常语义化以及高度重用的组件,可以理解为web components的先驱者. 网上已经有很多介绍怎么使用指令

学习-【前端】-angularjs基本框架以及向服务器发送请求的方法

昨天写了个跨域的东西,自己琢磨了下,想到这种方式正好也是之前想的混合app如何交互服务器的解决办法.心里还是蛮开心的.今天又花时间把前端客户端部分的框架做了出来,整合的思路是参照node社区移动端的设计方案,把所有controllers和所有services放到一起,不过请求数据未用$resource也没有用原生的$http,而是使用了restangular,用完这个再把配置文件单独整合到一个文件夹里.整个框架看起来都十分的整洁了. 先给个结构图: 因为是由产品驱动的架构,所以最开始没有使用bo

【经验】angularjs 实现带查找筛选功能的select下拉框

一.背景 对于select的下拉列表,像国家选择这样的功能,全世界那么多国家,一直拉滚动条多辛苦,眼睛也要盯着找,累!so,为优化用户体验,带查找功能的下拉框是非常非常有必要的.都知道jquery里有这样的插件,但我们用的是Angularjs,更希望用双向绑定,指令的方式优雅地解决这个问题. 分析:    目标 在原来的<select ng-options="">标签上新加一个属性 select-search 就能支持查找的功能.如果这个属性没起作用,也不影响原来的sele

【11】AngularJS&#160;HTML DOM

AngularJS HTML DOM AngularJS 为 HTML DOM 元素的属性提供了绑定应用数据的指令. ng-disabled 指令 ng-disabled 指令直接绑定应用程序数据到 HTML 的 disabled 属性. <div ng-app=""> <p> <button ng-disabled="mySwitch">点我!</button> </p> <p> <in

【17】AngularJS&#160;Bootstrap

AngularJS Bootstrap AngularJS 的首选样式表是 Twitter Bootstrap, Twitter Bootstrap 是目前最受欢迎的前端框架. Bootstrap 你可以在你的 AngularJS 应用中加入 Twitter Bootstrap,你可以在你的 <head>元素中添加如下代码: <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.

【18】AngularJS&#160;包含

AngularJS 包含 在 AngularJS 中,你可以在 HTML 中包含 HTML 文件. 在 HTML 中包含 HTML 文件 在 HTML 中,目前还不支持包含 HTML 文件的功能. 服务端包含 大多服务端脚本都支持包含文件功能 (SSI: Server Side Includes). 使用 SSI, 你可在 HTML 中包含 HTML 文件,并发送到客户端浏览器. <?php require("navigation.php");?> 客户端包含 通过 Jav