在实际的开发过程中,很多後端返回给我们的数据都是需要格式化处理的,在angular中为我们内置提供了filter指令,可以很方便的对数据进行处理。首先我们看看在视图中是如何使用过滤器的。

1、currency(货币)格式化
<div ng-controller="Aaa">
<p>{{name | currency:'¥'}}</p>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.name = '12334.273489274834';
}]);
</script>
在name的数据後面使用|符号表示启用过滤器,如果对linux比较熟悉的话,这块的|根linux的管道功能。currency可以理解成函数,而'¥'则是函数的参数,如果不传默认为$符号!
2、number(数字)格式化
<div ng-controller="Aaa">
<p>{{name | number:2}}</p>
</div>
<script type="text/javascript">
$scope.name = '12334.273489274834';
</script>
用来精确浮点数(精确到2位)默认是3位。
3、uppercase , lowercase(大小写)格式化
<div ng-controller="Aaa">
<p>{{name | uppercase}}</p>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.name = 'hello';
}]);
</script>
uppercase转换成大写,lowercase转换成小写
4、json(数据)格式化
<div ng-controller="Aaa">
<pre>{{name | json}}</pre>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.name = { name : 'xcg',age : 19 };
}]);
</script>
以json的格式输出到页面中,视图只能使用pre标签才可以识别
5、limitTo(截取)格式化
<div ng-controller="Aaa">
<p>{{name | limitTo : 3}}</p>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.name = '123456789';
}]);
</script>
截取字符串,数字不行。。。
6、limitTo(截取)格式化
<div ng-controller="Aaa">
<p>{{name | date : 'yyyy-MM-dd hh:mm:ss'}}</p>
<p>{{name | date : 'MM/dd/yyyy @ h:mma'}}</p>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.name = 1448022616463;
}]);
</script>
7、orderBy(排序)格式化
<div ng-controller="Aaa">
<pre>{{name | orderBy : 'age' : true | json}}</pre>
<div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.name = [
{color : 'red',age : '10'},
{color : 'yellow',age : '20'},
{color : 'blue',age : '30'},
{color : 'green',age : '40'}
];
}]);
</script>
如果排序的值是字母,就按照字母的顺序来排序。如果是数字,从大到小。传入true则为逆向排序。
8、filter(筛选&过滤)格式化
<div ng-controller="Aaa">
<pre>{{name | filter : 'l' | json}}</pre>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.name = [
{color : 'red',age : '10'},
{color : 'yellow',age : '20'},
{color : 'blue',age : '30'},
{color : 'green',age : '40'}
];
}]);
</script>
在filter传入'l',会筛选出blue以及yellow。
<pre>{{name | filter : 'yellow' : true | json}}</pre> 如果像这样再传入true,就必须保证value的完整性,单单的'l'是无法筛选出来的。
上面都是在视图中以表达式的形式使用过滤器,下面我们来看看在JS中使用过滤器。
<div ng-controller="Aaa">
<p>{{currency}}</p>
<p>{{number}}</p>
<p>{{uppercase}}</p>
<pre>{{json}}</pre>
<p>{{limitTo}}</p>
<p>{{date}}</p>
<pre>{{orderBy}}</pre>
<pre>{{filter}}</pre>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope','$filter',function($scope,$filter){
var colors = [{color : 'red',age : '10'},
{color : 'yellow',age : '20'},
{color : 'blue',age : '30'},
{color : 'green',age : '40'}];
$scope.currency = $filter('currency')(12334.273489274834,'¥');
$scope.number = $filter('number')('12334.273489274834',2);
$scope.uppercase = $filter('uppercase')('hello');
$scope.json = $filter('json')({ name : 'xcg',age : 19 });
$scope.limitTo = $filter('limitTo')('xiecg',2);
$scope.date = $filter('date')('1448106268837','yyyy-MM-dd hh:mm:ss');
$scope.orderBy = $filter('orderBy')(colors,'age',true);
$scope.filter = $filter('filter')(colors,'l');
}]);
</script>
这些都属于内置过滤器,我们还可以用.filter自定义过滤器。
<div ng-controller="Aaa">
<p>{{name | firstUpper : 2}}</p>
</div>
<script type="text/javascript">
var m1 = angular.module('myApp',[]);
//自定义过滤器
m1.filter('firstUpper',function(){
return function(str,num){
console.log(num); //2,得到传递的参数
return str.charAt(0).toUpperCase() + str.substring(1);
}
});
m1.controller('Aaa',['$scope','$filter',function($scope,$filter){
$scope.name = 'hollo';
}]);
</script>
这里我们自定义了一个首字母大写的方法,例子是在视图中使用的,也可以在JS中使用过滤器。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# Angular
# 过滤器
# 详解AngularJS中自定义过滤器
# 详解AngularJS中$filter过滤器使用(自定义过滤器)
# AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
# AngularJS 自定义过滤器详解及实例代码
# AngularJS自定义过滤器用法经典实例总结
# Angularjs 依赖压缩及自定义过滤器写法
# angularJs自定义过滤器实现手机号信息隐藏的方法
# AngularJS实现的自定义过滤器简单示例
# 简述angular自定义过滤器在页面和控制器中的使用
# Angular.Js中过滤器filter与自定义过滤器filter实例详解
# angularjs自定义过滤器demo示例
# 自定义
# 是在
# 转换成
# 都是
# 则是
# 可以用
# 给我们
# 才可以
# 这块
# 看在
# 很方便
# 则为
# 如何使用
# 中以
# 大到
# 中为
# 过程中
# 默认为
# 不传
# 首字母
相关文章:
焦点电影公司作品,电影焦点结局是什么?
网页设计与网站制作内容,怎样注册网站?
建站主机如何选?性能与价格怎样平衡?
广平建站公司哪家专业可靠?如何选择?
网站制作壁纸教程视频,电脑壁纸网站?
制作企业网站建设方案,怎样建设一个公司网站?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
动图在线制作网站有哪些,滑动动图图集怎么做?
长沙做网站要多少钱,长沙国安网络怎么样?
如何选择最佳自助建站系统?快速指南解析优劣
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
常州自助建站工具推荐:低成本搭建与模板选择技巧
专业网站建设制作报价,网页设计制作要考什么证?
如何快速打造个性化非模板自助建站?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
c# 在ASP.NET Core中管理和取消后台任务
如何自定义建站之星模板颜色并下载新样式?
相册网站制作软件,图片上的网址怎么复制?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
北京的网站制作公司有哪些,哪个视频网站最好?
如何高效完成独享虚拟主机建站?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
建站之星上传入口如何快速找到?
高端云建站费用究竟需要多少预算?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
建站之星备案流程有哪些注意事项?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何用5美元大硬盘VPS安全高效搭建个人网站?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
高防服务器租用首荐平台,企业级优惠套餐快速部署
历史网站制作软件,华为如何找回被删除的网站?
如何快速搭建支持数据库操作的智能建站平台?
如何选择美橙互联多站合一建站方案?
如何在服务器上三步完成建站并提升流量?
想学网站制作怎么学,建立一个网站要花费多少?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
如何获取开源自助建站系统免费下载链接?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
建站ABC备案流程中有哪些关键注意事项?
怎么将XML数据可视化 D3.js加载XML
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
如何做网站制作流程,*游戏网站怎么搭建?
b2c电商网站制作流程,b2c水平综合的电商平台?
如何登录建站主机?访问步骤全解析
,如何利用word制作宣传手册?
如何快速生成可下载的建站源码工具?
*请认真填写需求信息,我们会在24小时内与您取得联系。