zoukankan      html  css  js  c++  java
  • angularjs中的filter(过滤器)

    源文地址:http://www.ncloud.hk/技术分享/angularjs中的filter-过滤器/

    filters可以用来格式化数据。例如把时间格式化成为yyyy-MM-dd的形式来呈现给用户,方便查看。angularjs内置了一些filters,我们也可以根据自己的需要自定义一些filters.

    下面是angularjs提供的filters:

    currency:格式化一个数字成为一种货币。当没有提供任何货币符号时,使用当前区域的默认符号。

    number:格式化数字成为文本

    filter:从数组中选择一个子集,并将其返回为一个新数组

    date:基于要求的格式格式化日期为字符串

    json:允许你将一个javascript对象转化为JSON字符串

    lowercase:转换字符串成为小写

    uppercase:转换字符串成为大写

    limitTo:将数组/字符串限定为一个指定的元素/字符数。

    orderBy:通过给定的表达式指定数组,它是按字母顺序排列的字符串和数值。

    用法介绍:

    html中用法:

    filter可以用管道符 | 添加到表达式:{{expression | filter}}

    也可以多个filter连用,上一个filter的输出作为下一个filter的输出:

    {{expression | filter1 | filter2 |……}}

    还可以在指令中用参数:

    例如: <li ng-repeat=“x in names | orderBy:’country’”>

    或<li ng-repeat=“x in names | filter : ‘i’>

    javascript中用法:

    例:$scope.formatDate = $filter('date')(today, 'yyyy-MM-dd');

    有时候angularjs内置的filter不够用,我们就可以自己定义一个过滤器。

    例如定义一个名为“myFormat”的过滤器,

    <ul ng-app="myApp"ng-controller="namesCtrl">

    <li ng-repeat="x in names">

    {{x | myFormat}}

    </li>

    </ul>

    <script>

    var app = angular.module('myApp', []);

    app.filter('myFormat', function() {

    returnfunction(x) {

    var i, c, txt = "";

    x = x.split("")

    for (i = 0; i < x.length; i++) {

    c = x[i];

    if (i % 2 == 0) {

    c = c.toUpperCase();

    }

    txt += c;

    }

    return txt;

    };

    });

    app.controller('namesCtrl', function($scope) {

    $scope.names = ['Jani', 'Carl', 'Margareth', 'Hege', 'Joe', 'Gustav', 'Birgit','Mary', 'Kai'];

    });

    </script>

    这个myFormat过滤器将会格式化其它奇数位的字符为大写。

  • 相关阅读:
    ECMAScript 6 基础入门
    软件历史版本存档及下载
    arduino 编程基础
    生活中的实验 —— 家庭电路
    电子元件 —— 继电器
    电与磁 —— 电磁铁
    windows cmd 命令行 —— 进程与服务
    计算机硬件、摄影设备、物质、材料英语
    DHCP服务器备份、还原、迁移
    SVN同步
  • 原文地址:https://www.cnblogs.com/panda-zhang/p/5182691.html
Copyright © 2011-2022 走看看