AngularJS Filters

过滤器可以使用一个管道字符(|)添加到表达式和指令中。

AngularJS 过滤器

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

过滤器 描述
currency 格式化数字为货币格式。
filter 从数组项中选择一个子集。
lowercase 格式化字符串为小写。
orderBy 根据某个表达式排列数组。
uppercase 格式化字符串为大写。

 

表达式中添加过滤器

过滤器可以通过一个管道字符(|)和一个过滤器添加到表达式中。.

((下面的两个实例,我们将使用前面章节中提到的 person 控制器))

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

<div ng-app="myApp" ng-controller="personCtrl">

p>姓名为 {{ fullName() | uppercase }}</div>
script type="text/javascript" src="js/angular.min.js"></script="text/javascript">
    angular.module('myApp,[]).controller(personCtrlfunction($scope) {
    $scope.firstName = "JohnDoe() {
        return $scope.firstName + " + $scope.lastName;
    }
});
>

结果为:姓名为 JOHN DOE

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

>姓名为 {{ lastName | lowercase }}姓名为 john doe

currency 过滤器

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

="costCtrl">

数量: input ="number" ng-model="quantity"
价格: ="price">总价 = {{ (quantity * price) | currency }}>
var app = angular.module(costCtrl($scope) {
    $scope.quantity 1;
    $scope.price 9.99;
});
>

结果如图所示:

向指令添加过滤器

过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中。

orderBy 过滤器根据表达式排列数组:

="namesCtrl">循环对象:ul>
  li ng-repeat="x in names | orderBy:'country'"
    {{ x.name + ',' + x.country }}
  linamesCtrl($scope) {
    $scope.names  [
        {name:JaniNorway},{name:HegeSwedenKaiDenmark}
    ];
});
>

结果:

循环对象:

  • Kai,Denmark
  • Jani,Norway
  • Hege,Sweden

过滤输入

>输入过滤:><="text"="test"="x in names | filter:test | orderBy:'country'"
    {{ (x.name | uppercase) + ',1)">>

结果如图所示:当输入k时,会过滤掉其他的。

 转载地址:http://www.runoob.com/angularjs/angularjs-filters.html

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...