AngularJs中组件、过滤器、自定义过滤器的使用

关于组件化:

    将页面中可以重复使用的标签封装成一个组件,方便这一部分UI重复使用
    类似于JS中的函数,封装了一部分处理代码,通过函数调用就可以重复使用这些代码
封装一个简单的组件代码如下:

 
 
[html] view plain copy
  1. <script>  
  2.     var app = angular.module("myApp", []);  
  3.   
  4.     app.component("myComp", {  
  5.         template:"<h1>组件化封装的内容<small>这是一个副标题</small></h1>"  
  6.     });  
  7. </script>  
调用方式:
[html] view plain copy
  1. <my-comp></my-comp>  
过滤器: 过滤器可以使用一个管道字符(|)添加到表达式和指令中。 (1)字符串大小写转换过滤器 代码如下:
[html] view plain copy
  1. <div ng-bind="name"></div>  
  2.         <div ng-bind="name | uppercase"></div>  
  3.         <div ng-bind="name | lowercase"></div>  
(2)长度限制过滤器
      代码如下:

  
  
[html] view plain copy
  1. 长度:<input type="text" ng-model="length"><br />  
  2. 位置:<input type="text" ng-model="index">  
  3. <br />  
  4. <ul>  
  5.     <li ng-repeat="u in users | limitTo:length:index">  
  6.         <span ng-bind="u.userID"></span>****  
  7.         <span ng-bind="u.username"></span>****  
  8.         <span ng-bind="u.nickname"></span>  
  9.     </li>  
  10. </ul>  
(3)JSON过滤器 代码如下:
[html] view plain copy
  1. <span ng-bind="users|json"></span>  
(4)日期时间过滤器
[html] view plain copy
  1. <span ng-bind="date | date:'yyyy年MM月dd日 hh:mm:ss'"></span><br />  
  2.             <span ng-bind="date | date:'yyyy年MM月dd日'"></span><br />  
  3.             <span ng-bind="date | date:'hh:mm:ss'"></span><br />  
(5)货币格式过滤器
[html] view plain copy
  1. 货币过滤器输出:<span ng-bind="price | currency"></span><br />  
  2. 货币过滤器输出:<span ng-bind="price | currency:'人民币¥'"></span><br />  
  3. 货币过滤器输出:<span ng-bind="price | currency:'¥':3"></span><br />  
自定义过滤器:
 app.filter(name, fn):用于定义一个自定义过滤器
 name:过滤器名称
 fn:过滤器处理函数
 过滤器中,直接return function(value) {}
 通过闭包函数来实现数据处理,固定语法结构!
 value参数:第一个参数,用于接收要处理的数据:数据就是过滤器管道符前面变量中的数据

    
    
[html] view plain copy
  1. <div ng-controller="myCtrl">  
  2.     <div ng-bind="name"></div>  
  3.     <div ng-bind="name | myfilter"></div>  
  4. </div>  
[html] view plain copy
  1. var app = angular.module("myApp", []);  
  2.     app.filter("myfilter", function() {  
  3.         return function(value) {  
  4.             value = value.toUpperCase();  
  5.             return value;  
  6.         }  
  7.     });  
[html] view plain copy
  1. app.controller("myCtrl", function($scope) {  
  2.         $scope.name = "jerry";  
  3.     });  
标注:过滤器中的数据处理完成,一定要返回输出(return value)。否则页面上不会输出相关的信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值