Angularjs 的过滤器使用小结

10.5. AngularJS 过滤器   过滤器可以使用一个管道字符(|)添加到表达式和指令中
      AngularJS 过滤器可用于转换数据:
10.5.1. currency  格式化数字为货币格式。 
<div ng-app="myApp" ng-controller="costCtrl">
数量: <input type="number" ng-model="quantity">
价格: <input type="number" ng-model="price">
<p>总价 = {{ (quantity * price) | currency }}</p>
</div> 
<script>
var app = angular.module('myApp', []);
app.controller('costCtrl', function($scope) {
   $scope.quantity = 1;
   $scope.price = 9.99;
});
</script>
10.5.2. uppercase  格式化字符串为大写
<div ng-app="myApp" ng-controller="personCtrl">
<p>姓名为 {{ lastName | uppercase }}</p>
</div>
10.5.3.  lowercase  格式化字符串为小写。
<div ng-app="myApp" ng-controller="personCtrl">
<p>姓名为 {{ lastName | lowercase }}</p>
</div>
10.5.4. orderBy 过滤器根据表达式排列数组:
<div ng-app="myApp" ng-controller="namesCtrl">
<ul>
 <li ng-repeat="x in names | orderBy:'country'">
   {{ x.name + ', ' + x.country }}
 </li>
</ul>
</div>
angular.module('myApp', []).controller('namesCtrl', function($scope) {
   $scope.names = [
       {name:'Jani',country:'Norway'},
       {name:'Hege',country:'Sweden'},
       {name:'Kai',country:'Denmark'}
   ];
});
10.5.5. 输入过滤器
<div ng-app="myApp" ng-controller="namesCtrl">
<p><input type="text" ng-model="test"></p>
<ul>
 <li ng-repeat="x in names | filter:test | orderBy:'country'">
   {{ (x.name | uppercase) + ', ' + x.country }}
 </li>
</ul>
</div>
angular.module('myApp', []).controller('namesCtrl', function($scope) {
   $scope.names = [
       {name:'Jani',country:'Norway'},
       {name:'Hege',country:'Sweden'},
       {name:'Kai',country:'Denmark'}
   ];
});
10.5.6. 自定义过滤器  
        以下实例自定义一个过滤器 reverse,将字符串反转:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
   $scope.msg = "Runoob";
});
app.filter('reverse', function() { //可以注入依赖
   return function(text) {
            return text.split("").reverse().join("");
   }
});
10.5.7.  常用实例
1、uppercase,lowercase 大小写转换
  {{ "lower cap string" | uppercase }}   // 结果:LOWER CAP STRING
  {{ "TANK is GOOD" | lowercase }}      // 结果:tank is good
2、date 格式化
  {{1490161945000 | date:"yyyy-MM-dd HH:mm:ss"}} // 2017-03-22 13:52:25
3、number 格式化(保留小数)
  {{149016.1945000 | number:2}}
4、currency货币格式化
  {{ 250 | currency }}            // 结果:$250.00
  {{ 250 | currency:"RMB ¥ " }}  // 结果:RMB ¥ 250.00
5、filter查找
  输入过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中,该过滤器后跟一个冒号和一个模型名称。
  filter 过滤器从数组中选择一个子集
   // 查找name为iphone的行
  {{ [{"age": 20,"id": 10,"name": "iphone"},
  {"age": 12,"id": 11,"name": "sunm xing"},
  {"age": 44,"id": 12,"name": "test abc"}
  ] | filter:{'name':'iphone'} }}  
6、limitTo 截取
  {{"1234567890" | limitTo :6}} // 从前面开始截取6位
  {{"1234567890" | limitTo:-4}} // 从后面开始截取4位
7、orderBy 排序
 // 根id降序排
 {{ [{"age": 20,"id": 10,"name": "iphone"},
 {"age": 12,"id": 11,"name": "sunm xing"},
 {"age": 44,"id": 12,"name": "test abc"}
 ] | orderBy:'id':true }}


 // 根据id升序排
 {{ [{"age": 20,"id": 10,"name": "iphone"},
 {"age": 12,"id": 11,"name": "sunm xing"},
 {"age": 44,"id": 12,"name": "test abc"}
 ] | orderBy:'id' }} 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值