AngularJS的Filter的示例详解


Posted in Javascript onMarch 07, 2017

贴上几个有关Filter使用的几个示例。

1. 首先创建一个表格

<body ng-app="app"> 
 <div class="divAll" ng-controller="tableFilter"> 
 <input type="text" placeholder="输入你要搜索的内容" ng-model="key"> 
 <br><br> 
 <table cellspacing="0"> 
 <thead> 
  <tr> 
  <th>名称</th> 
  <th>价格</th> 
  <th>上架时间</th> 
  <th>描述</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
  <td>{{g.name}}</td> 
  <td>{{g.price}}</td> 
  <td>{{g.inTime}}</td> 
  <td>{{g.desc}}</td> 
  </tr> 
 </tbody> 
 </table> 
</div> 
<script src="js/angular.min.js"></script> 
<script> 
 var app = angular.module('app',[]); 
 app.controller('tableFilter',function($scope){ 
 $scope.goods = [ 
  {name:"HTML5",price:20,inTime:1488785356895,desc:"HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。"}, //时间秒数由 new Date().getTime();获得 
  {name:"JavaScript",price:30,inTime:1488685355895,desc:"JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。"}, 
  {name:"CSS3",price:25,inTime:1468785355895,desc:"CSS即层叠样式表。"}, 
  {name:"AngularJS",price:50,inTime:1482785355895,desc:"AngularJS 是一款优秀的前端JS框架,被用于Google的多款产品当中。。"} 
 ]; 
} 
</script>

加上样式,显示如图

AngularJS的Filter的示例详解

2. 看到价格个时间显示怪怪的,好,修改一下表格。

<td>{{g.name}}</td> 
<td>{{g.price | currency}}</td> <!--currency:货币--> 
<td>{{g.inTime | date:'yyyy-MM-dd'}}</td> <!--将秒数改成日期格式 年-月-日--> 
<td>{{g.desc}}</td>

重新运行

AngularJS的Filter的示例详解

3. 这样一下,确实不碍眼了。但是描述太长了吧,能不能超过一定字数,就不显示了,以...结尾?

好,在表格里加上过滤器,就叫descFilter。字数显示。注意别忘了 ' | ' 过滤器符号。

<td>{{g.desc | descFilter : 10}}</td>

然后在js中为descFilter写上方法

//定义一个过滤器,过滤desc里面的字数,多余十个字的部分省略显示 
app.filter('descFilter',function(){ 
 return function(content,num){ //传两个参数,一个对应内容,一个对应长度 
 if(content.length > num){ 
  content = content.substring(0,num) + "..."; 
 } 
 return content; 
 } 
});

运行看看

AngularJS的Filter的示例详解

可以了。厉害。

4. 搜索框没用吗。别忘了,我们给它附上了ng-model="key",

好,修改一下tr。加上filter条件

<tr ng-repeat="g in goods | filter : key">

.保存运行,在里面搜索内容试试呢

AngularJS的Filter的示例详解

。好神奇,好厉害的Filter.

5.不能按价格排序吗?当然可以。而且不仅升序还能降序。

给价格那个标题加上升降按钮

<th>价格 <input type="button" ng-show="isAsc" value="?" ng-click="sort()"> <input type="button" ng-show="!isAsc" value="▲" ng-click="sort()"></th>

。修改一下js 

<pre name="code" class="javascript"> $scope.isAsc = false; //定义isAsc变量为false,默认升序; 
 $scope.sort = function(){ 
  $scope.isAsc = !$scope.isAsc; //升降切换 
 }</pre><br> 
<p></p> 
<pre></pre>

4 。更新一下过滤排序条件<br> 

<pre name="code" class="html"><tr ng-repeat="g in goods | filter : key | orderBy : 'price' : isAsc"></pre><br> 
<p></p> 
<p>再次运行。升序降序都可以。大功告成!</p> 
<p><img src="http://img.blog.csdn.net/20170306190351615" alt=""><br> 
</p> 
<p><img src="http://img.blog.csdn.net/20170306190425762" alt=""><br> 
</p>

AngularJS的Filter的示例详解

AngularJS的Filter的示例详解

以上所述是小编给大家介绍的AngularJS的Filter的示例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
Aug 05 Javascript
js创建表单元素并使用submit进行提交
Aug 14 Javascript
JavaScript 模块化编程(笔记)
Apr 08 Javascript
javascript闭包(Closure)用法实例简析
Nov 30 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
May 10 Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 Javascript
JavaScript实现分页效果
Mar 28 Javascript
js按条件生成随机json:randomjson实现方法
Apr 07 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 Javascript
使用koa2创建web项目的方法步骤
Mar 12 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
Apr 15 Javascript
详解Jest结合Vue-test-utils使用的初步实践
Jun 27 Javascript
js上下视差滚动简单实现代码
Mar 07 #Javascript
js实现下一页页码效果
Mar 07 #Javascript
原生JS中slice()方法和splice()区别
Mar 06 #Javascript
浅析vue component 组件使用
Mar 06 #Javascript
js常用的继承--组合式继承
Mar 06 #Javascript
VUE开发一个图片轮播的组件示例代码
Mar 06 #Javascript
canvas仿iwatch时钟效果
Mar 06 #Javascript
You might like
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
php7连接MySQL实现简易查询程序的方法
2020/10/13 PHP
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
python中logging库的使用总结
2017/10/18 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
python中什么是面向对象
2020/06/11 Python
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
优秀教师事迹简介
2014/02/02 职场文书
护士求职自荐信范文
2014/03/19 职场文书
一体化教学实施方案
2014/05/10 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
课内比教学心得体会
2014/09/09 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
运动与健康自我评价
2015/03/09 职场文书
经理岗位职责范本
2015/04/15 职场文书
音乐会主持人开场白
2015/05/28 职场文书