zoukankan      html  css  js  c++  java
  • AngularJS 过滤器

    AngularJS 过滤器

    AngularJS过滤器重要包含两类,一类是内置过滤器;另外一个类是自定义过滤器。

    下面是常用的几种过滤器

    过滤器

    描述

    uppercase

    将字符转换为大写

    lowercase

    将字符转换为小写

    currency

    将数字转换为货币格式

    orderBy

    排序

    filter

    从数组中筛选一个子集

    过滤器可以使用管道字符“|”添加到表达式和指令当中

    例如 将字符串转化为大写 

    <span >{{"tom IS A boy"|uppercase}}</span>

    下面是常用表达式的代码示例:

      1 <html>
      2 <head>
      3     <title></title>
      4     <meta charset="utf-8" />
      5     <script src="js/angular.min.js"></script>
      6     <style>
      7         .frame {
      8             height: 250px;
      9             padding: 20px;
     10             margin: 20px;
     11             background-color: lightblue;
     12             border: 1px solid black;
     13         }
     14     </style>
     15 </head>
     16 <body ng-app="myApp">
     17     <div ng-controller="myCtrl">
     18 
     19         <div class="frame">
     20             <!--转换为大写-->
     21             <h3>转换为大写</h3>
     22             <span >{{"tom IS A boy"|uppercase}}</span><br />
     23             <!--转换为小写-->
     24             <h3>转换为小写</h3>
     25             <span >{{"tom IS A boy"|lowercase}}</span><br />
     26             <!--转换为货币-->
     27             <h3>转换为货币</h3>
     28             <span>{{100 | currency}}</span>
     29         </div>
     30         <!--过滤筛选-->
     31         <div class="frame">
     32             <h3>输入过滤</h3>
     33             <span>筛选记录</span><input ng-model="test" type="text" />
     34             <ul>
     35                 <li ng-repeat="item in names | filter :test ">
     36                     {{item.name +" "+item.age}}
     37                 </li>
     38             </ul>
     39         </div>
     40         <!--自定义过滤器-->
     41         <div class="frame">
     42             <h3>自定义过滤器</h3>
     43             {{"Tom" | sayHello}}
     44         </div>
     45 
     46         <!--记录条数过滤-->
     47         <div class="frame">
     48             <h3>记录条数过滤</h3> 
     49         显示条数:<input ng-model="pageCount" type="number"/>
     50             <ul>
     51                 <li ng-repeat="item in names | limitTo:pageCount">
     52                     {{item.name +" "+item.age}}
     53                 </li>
     54             </ul>
     55         </div>
     56 
     57         <div class="frame">
     58             <h3>输入过滤</h3>
     59             <span>筛选记录</span><input ng-model="test" type="text" />
     60             <ul>
     61                 <li ng-repeat="item in names | filter :test ">
     62                     {{item.name +" "+item.age}}
     63                 </li>
     64             </ul>
     65         </div>
     66 
     67         <!--默认排序-->
     68         <div class="frame">
     69             <h3>按照年龄默认排序</h3>
     70             <ul>
     71                 <li ng-repeat="itme in names">
     72                     {{"姓名:"+itme.name +"  年龄:" + itme.age}}
     73                 </li>
     74             </ul>
     75         </div>
     76         <!--升序-->
     77         <div class="frame">
     78             <h3>按照年龄升序</h3>
     79             <ul>
     80                 <li ng-repeat="itme in names | orderBy:'age'">
     81                     {{"姓名:"+itme.name +"  年龄:" + itme.age}}
     82                 </li>
     83             </ul>
     84         </div>
     85         <!--倒序-->
     86         <div class="frame">
     87             <h3>按照年龄倒序</h3>
     88             <ul>
     89                 <li ng-repeat="itme in names | orderBy:'-age'">
     90                     {{"姓名:"+itme.name +"  年龄:" + itme.age}}
     91                 </li>
     92             </ul>
     93         </div>
     94 
     95         <!--多属性排序-->
     96         <div class="frame">
     97             <h3>年龄正序 姓名倒序</h3>
     98             <ul>
     99                 <li ng-repeat="itme in names | orderBy:['age','-name']">
    100                     {{"姓名:"+itme.name +"  年龄:" + itme.age}}
    101                 </li>
    102             </ul>
    103         </div>
    104 
    105         <!--动态排序-->
    106         <div class="frame">
    107             <h3>
    108                 按照年龄排序
    109                 <button ng-click="sort()">{{sortText}}</button>
    110             </h3>
    111             <ul>
    112                 <li ng-repeat="itme in names | orderBy:sortFlag">
    113                     {{"姓名:"+itme.name +"  年龄:" + itme.age}}
    114                 </li>
    115             </ul>
    116         </div>
    117     </div>
    118 
    119 
    120     <script>
    121         var app = angular.module("myApp", []);
    122         app.controller("myCtrl", function ($scope) {
    123             $scope.names = [
    124                 { "name": "姓名1", "age": 30 },
    125                 { "name": "姓名2", "age": 29 },
    126                 { "name": "姓名3", "age": 28 },
    127                 { "name": "姓名4", "age": 26 },
    128                 { "name": "姓名5", "age": 26 },
    129                 { "name": "姓名6", "age": 15 },
    130                 { "name": "姓名7", "age": 16 },
    131                 { "name": "姓名8", "age": 17 },
    132             ];
    133             $scope.sortFlag = "age";
    134             $scope.sortText = "降序";
    135             $scope.sort = function () {
    136                 $scope.sortFlag = $scope.sortFlag === "age" ? "-age" : "age";
    137                 $scope.sortText = $scope.sortFlag === "age" ? "降序" : "升序";
    138             } 
    139         });
    140     //自定义sayHello过滤器
    141         app.filter("sayHello", function () {
    142             return function (text) {
    143                 return text + " say: Hello World";
    144             }
    145         })
    146     </script>
    147 </body>
    148 </html>
  • 相关阅读:
    [JZOJ3339]【NOI2013模拟】wyl8899和法法塔的游戏
    [JZOJ3337] 【NOI2013模拟】wyl8899的TLE
    UVA 1262 Password
    UVA 10820 Send a Table
    UVA 12716 GCD XOR
    UVA 10791
    UVA 10375 choose and divide (唯一分解定理)
    欧拉函数
    51 Nod 1069 Nim游戏
    51 Nod 1242 矩阵快速幂求斐波那契数列
  • 原文地址:https://www.cnblogs.com/zhaochengshen/p/6708950.html
Copyright © 2011-2022 走看看