Angular.Js中过滤器filter与自定义过滤器filter实例详解


Posted in Javascript onMay 08, 2017

本文主要给大家介绍了Angular.Js过滤器filter与自定义过滤器filter的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

一、AngularJS的filter过滤器:

  • uppercase|lowercase:大小写转换过滤
  • json:json格式过滤
  • date:日期格式过滤
  • number:数字格式过滤
  • currency:货币格式过滤
  • filter:查找
  • limitTo:字符串对象截取
  • orderBy:对象排序
<!DOCTYPE html> 
<html lang="zh_CN"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Angular基础</title> 
</head> 
<body> 
<div ng-app="myApp"> 
 
  <!-- 向表达式添加过滤器:可以通过一个管道字符(|)和一个过滤器添加到表达式中--> 
  <p>将字符串转换为大小写:</p> 
  <div ng-controller="uppercaseController"> 
   <p>姓名为 {{ person.lastName | uppercase }}</p> 
  </div> 
  <div ng-controller="lowercaseController"> 
   <p>姓名为 {{ person.lastName | lowercase }}</p> 
  </div> 
 
  <p>货币过滤:</p> 
  <div ng-controller="costController"> 
   数量:<input type="number" ng-model="quantity"> 
   价格:<input type="number" ng-model="price"> 
   <p>总价 = {{ (quantity * price) | currency }}</p> 
   {{250 |currency:"RMB ¥"}} 
  </div> 
 
  <!-- 向指令添加过滤器:可以通过一个管道字符(|)和一个过滤器添加到指令中--> 
  <p>按国家的字母顺序排序对象:</p> 
  <div ng-controller="namesController"> 
   <p>循环对象:</p> 
   <ul> 
    <li ng-repeat="x in names | orderBy:'country'"> 
     {{ x.name + ', ' + x.country }} 
    </li> 
   </ul> 
   <!--json格式过滤--> 
   {{jsonText | json}}  <br/> 
   <!--date格式过滤--> 
   <span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss'}}</span><br/> 
   <!--number格式过滤--> 
   {{1.2345678 |number:1}}<br/> 
   <!--字符串截取--> 
   {{ "i love tank" | limitTo:6 }}<br/> 
   {{ "i love tank" | limitTo:-6 }}<br/> 
   <!--对象排序:降序--> 
   {{ [{"age": 20,"id": 10,"name": "iphone"}, 
   {"age": 12,"id": 11,"name": "sunm xing"}, 
   {"age": 44,"id": 12,"name": "test abc"} 
   ] | orderBy:'id':true }}<br/> 
   <!--对象排序:升序--> 
   {{ [{"age": 20,"id": 10,"name": "iphone"}, 
   {"age": 12,"id": 11,"name": "sunm xing"}, 
   {"age": 44,"id": 12,"name": "test abc"} 
   ] | orderBy:'id' }} 
  </div> 
  <p>按输入的字母显示对象:</p> 
  <div ng-controller="namesFilterController"> 
   <p>输入过滤:</p> 
   <p><input type="text" ng-model="name"></p> 
   <ul> 
    <li ng-repeat="x in names | filter:name | orderBy:'country':true"> 
     {{ (x.name | uppercase) + ', ' + x.country }} 
    </li> 
   </ul> 
   <p>name筛选:</p> 
   <ul> 
    <li ng-repeat="x in names | filter:{'name':name} | orderBy:'country':true"> 
     {{ (x.name | uppercase) + ', ' + x.country }} 
    </li> 
   </ul> 
 
   {{ [{"age": 20,"id": 10,"name": "iphone"}, 
   {"age": 12,"id": 11,"name": "sunm"}, 
   {"age": 44,"id": 12,"name": "test abc"} 
   ] | filter:{'name':'sunm'} }} 
  </div> 
 
</div> 
<script src="angular.min.js"></script> 
<script type="application/javascript"> 
 var myApp=angular.module('myApp',[]); 
 myApp.controller('uppercaseController',function($scope){ 
  $scope.person = { 
   firstName: "John", 
   lastName: "Doe" 
  }; 
 }); 
 myApp.controller('lowercaseController',function($scope){ 
  $scope.person = { 
   firstName: "John", 
   lastName: "Doe" 
  }; 
 }); 
 myApp.controller('costController',function($scope){ 
  $scope.quantity = 1; 
  $scope.price = 9.99; 
 }); 
 myApp.controller('namesController',function($scope){ 
  $scope.names = [ 
   {name:'Jani',country:'Norway'}, 
   {name:'Hege',country:'Sweden'}, 
   {name:'Kai',country:'Denmark'} 
  ]; 
  $scope.jsonText={foo:"bar",baz:23}; 
 }); 
 myApp.controller('namesFilterController',function($scope){ 
  $scope.names = [ 
   {name:'Jani',country:'Norway'}, 
   {name:'Hege',country:'Sweden'}, 
   {name:'Kai',country:'Denmark'} 
  ]; 
 }); 
 
</script> 
</body> 
</html>

Angular.Js中过滤器filter与自定义过滤器filter实例详解

二、AngularJs的控制器使用filter

<!DOCTYPE html> 
<html lang="zh_CN"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Angular基础</title> 
</head> 
<body> 
<div ng-app="myApp"> 
 <div ng-controller="firstCtrl"> 
  {{uFirstName}}<br/> 
  {{cPrice}}<br/> 
 </div> 
 
</div> 
<script src="angular.min.js"></script> 
<script type="application/javascript"> 
 var myApp=angular.module('myApp',[]); 
 myApp.controller('firstCtrl',function($scope,$filter){ 
  $scope.firstName="zhangsan"; 
  $scope.uFirstName=$filter('uppercase')($scope.firstName); 
  $scope.price="121212"; 
  $scope.cPrice=$filter('currency')($scope.price,'RMB ¥'); 
 }) 
 
</script> 
</body> 
</html>

三、AngularJs自定义filter过滤器

<!DOCTYPE html> 
<html lang="zh_CN"> 
<head> 
 <meta charset="UTF-8"> 
 <title>Angular基础</title> 
</head> 
<body> 
<div ng-app="myApp"> 
 <div ng-controller="firstCtrl"> 
  {{welcome | replaceHello}}<br/> 
  {{welcome | replaceHello:3:5}}<br/> 
  {{welcome | rJs}}<br/> 
 </div> 
 
</div> 
<script src="angular.min.js"></script> 
<script src="filter.js"></script> 
<script type="application/javascript"> 
 var myApp=angular.module('myApp',['myApp.filter']); 
 myApp.controller('firstCtrl',function($scope){ 
  $scope.welcome="Hello AngularJs"; 
 }); 
 //自定义过滤器 
 myApp.filter('replaceHello',function(){ 
  return function(input,n1,n2){ 
   console.log(input); 
   console.log(n1); 
   console.log(n2); 
   return input.replace(/Hello/,'您好'); 
  } 
 }) 
 
</script> 
</body> 
</html>
var appFilter=angular.module('myApp.filter',[]); 
//自定义过滤器 
appFilter.filter('rJs',function(){ 
 return function(input,n1,n2){ 
  console.log(input); 
  console.log(n1); 
  console.log(n2); 
  return input.replace(/Js/,' javaScript'); 
 } 
});

Angular.Js中过滤器filter与自定义过滤器filter实例详解

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
js判断手机端(Android手机还是iPhone手机)
Jul 22 Javascript
网页从弹窗页面单选框传值至父页面代码分享
Sep 29 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
Sep 15 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
Dec 28 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
微信小程序中post方法与get方法的封装
Sep 26 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
Jan 03 Javascript
微信小程序自定义组件实现tabs选项卡功能
Jul 14 Javascript
微信小程序多列表渲染数据开关互不影响的实现
Jun 05 Javascript
canvas简单快速的实现知乎登录页背景效果
May 08 #Javascript
详解JavaScript中return的用法
May 08 #Javascript
如何使用angularJs
May 08 #Javascript
关于foreach循环中遇到的问题小结
May 08 #Javascript
js下载文件并修改文件名
May 08 #Javascript
JS将unicode码转中文方法
May 08 #Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 #Javascript
You might like
php+dbfile开发小型留言本
2006/10/09 PHP
非常好的php目录导航文件代码
2006/10/09 PHP
最新的php 文件上传模型,支持多文件上传
2009/08/13 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
会计与审计毕业生自荐信范文
2013/12/30 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
大学毕业生个人总结
2015/02/28 职场文书
党员证明模板
2015/06/19 职场文书
老人与海读书笔记
2015/06/26 职场文书
大学生军训感言
2015/08/01 职场文书
禁毒主题班会教案
2015/08/14 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
i7 6700处理器相当于i5几代
2022/04/19 数码科技