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 相关文章推荐
运算符&amp;&amp;的三个不同层次
Apr 07 Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
May 02 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
Jul 27 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
Aug 15 Javascript
vue webpack实用技巧总结
Apr 24 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获取随机数字和字母的方法详解
2013/06/06 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
php集成动态口令认证
2016/07/21 PHP
PHP7多线程搭建教程
2017/04/21 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
python进程类subprocess的一些操作方法例子
2014/11/22 Python
开始着手第一个Django项目
2015/07/15 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
个人自我鉴定写法
2013/11/30 职场文书
信息与计算科学专业推荐信
2014/02/23 职场文书
仓库规划计划书
2014/04/28 职场文书
万能检讨书2000字
2014/10/17 职场文书
nginx配置指令之server_name的具体使用
2022/08/14 Servers