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高级程序设计
Dec 29 Javascript
关于firefox的ElementTraversal 接口 使用说明
Nov 11 Javascript
js中的事件捕捉模型与冒泡模型实例分析
Jan 10 Javascript
jquery实现文本框textarea自适应高度
Mar 09 Javascript
JS仿京东移动端手指拨动切换轮播图效果
Apr 10 Javascript
JavaScript实现简单的星星评分效果
May 18 Javascript
详解微信小程序 template添加绑定事件
Jun 23 Javascript
JS实现带导航城市列表以及输入搜索功能
Jan 04 Javascript
关于Vue在ie10下空白页的debug小结
May 02 Javascript
js正则取值的结果数组调试方法
Oct 10 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
Aug 27 Javascript
微信小程序(订阅消息)功能
Oct 25 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
PHP获取url的函数代码
2011/08/02 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
python使用matplotlib绘制柱状图教程
2017/02/08 Python
详解python eval函数的妙用
2017/11/16 Python
python 对象和json互相转换方法
2018/03/22 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
初三政治教学反思
2014/01/30 职场文书
个人安全生产责任书
2014/07/28 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
员工家属慰问信
2015/03/24 职场文书
小学副班长竞选稿
2015/11/21 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
开网店计划分析
2019/07/30 职场文书
JavaScript函数柯里化
2021/11/07 Javascript