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

发布时间 - 2026-01-11 01:01:10    点击率:

本文主要给大家介绍了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> 


二、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  # 自定义过滤器  # angular过滤器filter  # 自定义filter  # 详解AngularJS中自定义过滤器  # 详解AngularJS中$filter过滤器使用(自定义过滤器)  # AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例  # AngularJS 自定义过滤器详解及实例代码  # AngularJS自定义过滤器用法经典实例总结  # Angularjs 依赖压缩及自定义过滤器写法  # angularJs自定义过滤器实现手机号信息隐藏的方法  # AngularJS实现的自定义过滤器简单示例  # 简述angular自定义过滤器在页面和控制器中的使用  # 详解Angular的内置过滤器和自定义过滤器【推荐】  # angularjs自定义过滤器demo示例  # 自定义  # 可以通过  # 升序  # 相关内容  # 给大家  # 来看看  # 这篇文章  # 谢谢大家  # 转换为  # 您好  # 降序  # 有疑问  # app  # ng  # controller  # uppercaseController  # myApp  # meta  # charset  # zh_CN 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何创建自定义中间件?(Middleware代码示例)  JS中对数组元素进行增删改移的方法总结  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  制作旅游网站html,怎样注册旅游网站?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Laravel如何与Pusher实现实时通信?(WebSocket示例)  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  详解MySQL数据库的安装与密码配置  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  高端建站三要素:定制模板、企业官网与响应式设计优化  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  WEB开发之注册页面验证码倒计时代码的实现  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  如何确保FTP站点访问权限与数据传输安全?  Laravel如何生成URL和重定向?(路由助手函数)  教你用AI将一段旋律扩展成一首完整的曲子  Laravel如何使用.env文件管理环境变量?(最佳实践)  如何利用DOS批处理实现定时关机操作详解  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel怎么在Blade中安全地输出原始HTML内容  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Laravel Docker环境搭建教程_Laravel Sail使用指南  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  中国移动官方网站首页入口 中国移动官网网页登录  如何挑选高效建站主机与优质域名?  香港服务器选型指南:免备案配置与高效建站方案解析  公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  怎样使用JSON进行数据交换_它有什么限制  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  如何在IIS中新建站点并配置端口与IP地址?  如何在香港服务器上快速搭建免备案网站?  EditPlus中的正则表达式实战(6)  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  如何在 Pandas 中基于一列条件计算另一列的分组均值  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)