ng 过滤器

 

1、ng中自带的过滤器
过滤器:实现对数据的筛选、过滤、格式化。

过滤器是一个有返回值的方法。

过滤器语法:
{{ expression |过滤器1:'参数' | 过滤器2:'参数' }}

| --》 管道,支持多重过滤。

常见的过滤器中:
①currency 货币样式的格式化
②date 日期格式化 参数: y M d h m s 年月日 时分秒
③filter 将一个array,处理一个新的数组
④json 将对象转换成json格式的字符串
'{"name":123}'
⑤uppercase/lowercase 大小写的转换
⑥orderBy 排序:按照字符串首字母排序,按照数字的大小排序,默认是升序的。
{{ expression | orderBy:'':boolean}}
⑦number 将一个数字进行格式化,根据参数决定显示小数点后的位数
⑧limitTo
限定数组中的个数

 

例子:

效果:

 

代码:

 

<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
  <meta charset="UTF-8">
  <script src="js/angular.js"></script>
  <title></title>
</head>
<body>
<div ng-controller="myCtrl">
  <!-- 货币-->
  <p>{{price | currency}}</p>
  <p>{{price | currency :'¥'}}</p>
  <!-- 日期-->
  <p>{{myDate}}</p>
  <p>{{myDate | date:'MM-dd hh-mm'}}</p>
  <!-- 大小写转换-->
  <p>{{name | uppercase}}</p>
  <p>{{name | lowercase}}</p>
  <!-- 排序 order by-->
  <ul>
    <li ng-repeat="stu in stuList
    | orderBy:'age':true">
      <p>
        {{"name is "+stu.name+" age is "+stu.age}}
      </p>
    </li>
  </ul>
  <p>{{"num is "+num}}</p>
  <p>{{num | number:2}}</p>

  <ol>
    <li ng-repeat="tmp in list | limitTo:2">
      {{tmp}}
    </li>
  </ol>

</div>
<script>
  var app = angular.module('myApp', ['ng']);
  app.controller('myCtrl', function ($scope) {
    console.log('myCtrl  func is called');
    $scope.price = 1002;
    $scope.myDate = new Date();//初始化一个日期
    //大小写转换
    $scope.name = 'Michael';
    $scope.stuList = [
      {name:'zhangsan',age:20},
      {name:'lisi',age:28},
      {name:'wanger',age:22}
    ];

    $scope.num = 10.2333;
    $scope.list = [10,20,30,40,50];

  })
</script>
</body>
</html>

 

 2.通过$scope定义一个对象数组(5个),对象包含的属性:score\age\name。

实现按照score降序只显示前三名。

orderBy limitTo.

效果:

 

代码:

<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
  <meta charset="UTF-8">
  <script src="js/angular.js"></script>
  <title></title>
</head>
<body>
<div ng-controller="myCtrl">
  <ul>
    <li ng-repeat="stu in stuList
    | orderBy:'score':true
    | limitTo:3">
      {{stu.name+"-"+stu.age+"-"+stu.score}}
    </li>
  </ul>
</div>
<script>
  var app = angular.module('myApp', ['ng']);
  app.controller('myCtrl', function ($scope) {
    console.log('myCtrl  func is called');
    $scope.stuList = [
      {name:'name6',age:10,score:80},
      {name:'name5',age:10,score:79},
      {name:'name4',age:10,score:82},
      {name:'name3',age:10,score:89},
      {name:'name2',age:10,score:60}
    ];
  })
</script>
</body>
</html>

 

posted @ 2017-06-06 21:24  快乐的咸鱼  阅读(230)  评论(0编辑  收藏  举报