关于AngularJS的Filter的示例

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

1. 首先创建一个表格





名称 价格 上架时间 描述
{{g.name}} {{g.price}} {{g.inTime}} {{g.desc}}


加上样式,显示如图

关于AngularJS的Filter的示例_第1张图片
2. 看到价格个时间显示怪怪的,好,修改一下表格。

{{g.name}}
{{g.price | currency}} 
{{g.inTime | date:'yyyy-MM-dd'}} 
{{g.desc}}


重新运行
关于AngularJS的Filter的示例_第2张图片

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

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

{{g.desc | descFilter : 10}}


然后在js中为descFilter写上方法

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

运行看看

关于AngularJS的Filter的示例_第3张图片
可以了。厉害。

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

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

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

关于AngularJS的Filter的示例_第4张图片
。好神奇,好厉害的Filter.

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

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


价格  


。修改一下js
 
  
        $scope.isAsc = false; //定义isAsc变量为false,默认升序;

        $scope.sort = function(){
            $scope.isAsc = !$scope.isAsc; //升降切换
        }

 
  

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

再次运行。升序降序都可以。大功告成!

关于AngularJS的Filter的示例_第5张图片

关于AngularJS的Filter的示例_第6张图片

你可能感兴趣的:(AngularJS)