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 相关文章推荐
JS在textarea光标处插入文本的小例子
Mar 22 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
Dec 02 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
Aug 17 Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 Javascript
轻松理解vue的双向数据绑定问题
Oct 30 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 Javascript
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
vue和iview实现Scroll 数据无限滚动功能
Oct 31 Javascript
让mocha支持ES6模块的方法实现
Jan 14 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 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
joomla组件开发入门教程
2016/05/04 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
用ADODB.Stream转换
2007/01/22 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
Python返回真假值(True or False)小技巧
2015/04/10 Python
Python可变参数用法实例分析
2017/04/02 Python
python实现批量图片格式转换
2020/06/16 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
使用pip安装python库的多种方式
2019/07/31 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
高中生职业规划范文
2014/03/09 职场文书
同学聚会策划方案
2014/06/06 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
学习十八届四中全会依法治国心得体会
2014/11/03 职场文书
2015年见习期工作总结
2014/12/12 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers