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 相关文章推荐
农历与西历对照
Sep 06 Javascript
javascript正则表达式中的replace方法详解
Apr 20 Javascript
原生JS和JQuery动态添加、删除表格行的方法
May 28 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
AngularJS 服务详细讲解及示例代码
Aug 17 Javascript
react中的ajax封装实例详解
Oct 17 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
微信小程序版本自动更新的方法
Jun 14 Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
Aug 17 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
Sep 21 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
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
js实现简单的选项卡效果
2017/02/23 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
Python中字符串的处理技巧分享
2016/09/17 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
详解Python模块化编程与装饰器
2021/01/16 Python
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
翻新二手苹果产品的网络领导者:Mac of all Trades
2017/12/19 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
判断单链表中是否存在环
2012/07/16 面试题
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
财产公证书格式
2014/04/10 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
优秀教师工作总结2015
2015/07/22 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS