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

    AngularJS过滤器

    AngularJS过滤器可用于转换数据:

    过滤器                                              描述

    lowercase                                         格式化字符串为小写

    uppercase                                        格式化字符串为大写

    currency                                          格式化数字为货币格式

    orderBy                                           根据某个表达式排列数组

    filter                                               从数组项中选择一个子集

    date                                                日期格式化(date:"yyyy-MM-dd HH:mm:ss")

    number                                           保留小数

    limitTo                                            截取 

    过滤管道     |

    表达式中添加过滤器

    uppercase 过滤器将字符串格式化为大写:

        <div ng-app="myApp" ng-controller="namesCtrl">
            <p>{{sex | uppercase}}</p>
            <ul>
                <li ng-repeat="x in names">
                    {{x.name + "," +x.country}}
                </li>
            </ul>
        </div>
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="namesController.js"></script>
    angular.module("myApp",[]).controller("namesCtrl",function($scope){
        $scope.names = [
            {name:"Jani",country:"Norway"},
            {name:"Hege",country:"Sweden"},
            {name:"Kai",country:"Denmark"}
        ];
        $scope.sex = "boy";
    })

    lowercase 过滤器将字符串格式化为小写:

    currency 过滤器将数字转化为货币格式:

    <div ng-app="myApp" ng-controller="namesCtrl">
            <input type="text" ng-model="price">
            <input type="text" ng-model="quantity">
            <p>总价 = {{(quantity*price) | currency}}</p>
            <!--$138.00-->
            <p>{{sex | uppercase}}</p>
            <!--BOY-->
            <ul>
                <li ng-repeat="x in names">
                    {{x.name + "," +x.country}}
                </li>
            </ul>
        </div>
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="namesController.js"></script>

    向指令添加过滤器

    过滤器可以通过一个管道字符|和一个过滤器添加到指令中,该过滤器后可以跟一个冒号和一个模型名称

    orderBy(根据id升序排列)

        <div ng-app="myApp" ng-controller="namesCtrl">
            <input type="text" ng-model="price">
            <input type="text" ng-model="quantity">
            <p>总价 = {{(quantity*price) | currency}}</p>
            <!--$138.00-->
            <p>{{sex | uppercase}}</p>
            <!--BOY-->
            <ul>
                <li ng-repeat="x in names | orderBy:'id'">
                    {{(x.name | uppercase) + "," +x.country + "," + x.id}}
                </li>
            </ul>
        </div>
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="namesController.js"></script>
    angular.module("myApp",[]).controller("namesCtrl",function($scope){
        $scope.names = [
            {name:"Jani",country:"Norway",id:"3"},
            {name:"Hege",country:"Sweden",id:"1"},
            {name:"Kai",country:"Denmark",id:"2"}
        ];
        $scope.sex = "boy";
        $scope.price = "23.0";
        $scope.quantity = "6";
    })

    orderBy(根据id倒序排列)

    <div ng-app="myApp" ng-controller="namesCtrl">
            <input type="text" ng-model="price">
            <input type="text" ng-model="quantity">
            <p>总价 = {{(quantity*price) | currency}}</p>
            <p>总价 = {{(quantity*price) | currency:"RMB ¥"}}</p>
            <!--$138.00-->
            <!--RMB ¥138.00-->
            <p>{{sex | uppercase}}</p>
            <!--BOY-->
            <ul>
                <li ng-repeat="x in names | orderBy:'id':true">
                    {{(x.name | uppercase) + "," +x.country + "," + x.id}}
                </li>
            </ul>
            <!--自定义过滤器-->
            <p>{{msg | reverse}}</p>
            <!--频调乐音我酷-->
        </div>
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="namesController.js"></script>

    自定义过滤器

    以下实例自定义一个过滤器reverse,将字符串反转:

    <div ng-app="myApp" ng-controller="namesCtrl">
            <input type="text" ng-model="price">
            <input type="text" ng-model="quantity">
            <p>总价 = {{(quantity*price) | currency}}</p>
            <p>总价 = {{(quantity*price) | currency:"RMB ¥"}}</p>
            <!--$138.00-->
            <!--RMB ¥138.00-->
            <p>{{sex | uppercase}}</p>
            <!--BOY-->
            <ul>
                <li ng-repeat="x in names | orderBy:'id'">
                    {{(x.name | uppercase) + "," +x.country + "," + x.id}}
                </li>
            </ul>
            <!--自定义过滤器-->
            <p>{{msg | reverse}}</p>
            <!--频调乐音我酷-->
        </div>
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="namesController.js"></script>
    var app = angular.module("myApp",[]);
    app.controller("namesCtrl",function($scope){
        $scope.names = [
            {name:"Jani",country:"Norway",id:"3"},
            {name:"Hege",country:"Sweden",id:"1"},
            {name:"Kai",country:"Denmark",id:"2"}
        ];
        $scope.sex = "boy";
        $scope.price = "23.0";
        $scope.quantity = "6";
        $scope.msg = "酷我音乐调频";
    })
    // 自定义过滤器reverse
    app.filter("reverse",function(){//可以注入依赖
        return function (text){
            return text.split("").reverse().join("");
        }
    })

    date格式化

        <div ng-app="myApp" ng-controller="namesCtrl">
           {{1490161945000 | date:"yyyy-MM-dd HH:mm:ss"}}
        </div>
        
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="namesController.js"></script>

     <!--2017-03-22 13:52:25-->

    number格式化(保留小数)

        <div ng-app="myApp" ng-controller="namesCtrl">
           {{1490161945000 | date:"yyyy-MM-dd HH:mm:ss"}}
           {{149016.1945000 | number:2}}
           <!--2017-03-22 13:52:25-->
           <!--149,016.19-->
        </div>

    filter查找

    从数组项中选择一个子集(查找id:3的行)

      <div ng-app="myApp" ng-controller="namesCtrl">
            {{ names | filter:{'id':'3'} }}
            <!--[{"name":"Jani","country":"Norway","id":"3"}]-->
        </div>
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="namesController.js"></script>
      var app = angular.module("myApp",[]);
      app.controller("namesCtrl",function($scope){
          $scope.names = [
              {name:"Jani",country:"Norway",id:"3"},
              {name:"Hege",country:"Sweden",id:"1"},
              {name:"Kai",country:"Denmark",id:"2"}
          ];
          $scope.sex = "boy";
          $scope.price = "23.0";
          $scope.quantity = "6";
          $scope.msg = "酷我音乐调频";
      })

    limitTo截取

        <div ng-app="myApp" ng-controller="namesCtrl">
            <!--从前面开始截取前6位-->
            {{"1234567890" | limitTo :6}}
            <!--从后面开始截取后6位-->
            {{"1234567890" | limitTo :-6}}
        </div>
  • 相关阅读:
    Codeforces Round #324 (Div. 2) D. Dima and Lisa 哥德巴赫猜想
    Codeforces Round #324 (Div. 2) C. Marina and Vasya 贪心
    Codeforces Round #324 (Div. 2) B. Kolya and Tanya 快速幂
    Codeforces Round #324 (Div. 2) A. Olesya and Rodion 水题
    使用spring-loaded实现应用热部署
    maven中properties标签定义变量
    java中的匿名内部类总结
    泛型类型限定和通配符类型限定
    基于ActiveMQ的Topic的数据同步——消费者持久化
    基于ActiveMQ的Topic的数据同步——初步实现
  • 原文地址:https://www.cnblogs.com/old-street-hehe/p/6825090.html
Copyright © 2011-2022 走看看