美文网首页
自定义过滤器

自定义过滤器

作者: c59ffede9db6 | 来源:发表于2017-04-23 02:27 被阅读0次

<!DOCTYPE html>
<html ng-app='test'>
  <head>
     <meta charset="utf-8">
     <title>angular</title>
     <meta name="viewport" content="width=device-width,initial-scale=1.0,
     maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
     <link rel="stylesheet" type="text/css" href="static/css/reset.css">
     <script src="js/angular1.58.js" charset="utf-8"></script>
     <script >
       var app=angular.module('test',[]);
       app.controller('zhangsan',function($scope){
          $scope.arr=[1,52,22,33]
       })
       app.filter('my_filter',function(){
         return function(input){
           console.log(input)
           return input+5
         }
       })
     </script>
 </head>
 <body ng-controller='zhangsan'>
   <div ng-repeat='v in arr'>
     {{v | my_filter}}
   </div>

 </body>
</html>

核心

外层是初始化的,内层才是用来干活的

   app.filter(name,function(){
    alert('外层函数')
//此处套了2层,通过弹出1可以看出只执行了一次 ,作者目的是为了方便初始化
         return function(input){
       alert(’内层函数')//用到几次就弹出几次即有几个数据就执行几次
           console.log(input)  //此处的input就是过滤器之前的数据
           return input+5  //     return input也是核心,返回处理结果
         }
       })

自定义会计能看懂的记账

<!DOCTYPE html>
<html ng-app='test'>
  <head>
     <meta charset="utf-8">
     <title>angular</title>
     <meta name="viewport" content="width=device-width,initial-scale=1.0,
     maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
     <link rel="stylesheet" type="text/css" href="static/css/reset.css">
     <script src="bower_components/angular/angular.js" charset="utf-8"></script>
     <script >
       var app=angular.module('test',[])
       app.filter('kuaiji',function(){
         return function(input){
           if (input<0) {
             return '('+(-input)+')'
           }else {
             return input
           }
         }
       })
       app.controller('zhangsan',function($scope,$http){
          $scope.arr=[
            {name:'买早餐',count:3,price:-8},
            {name:'卖出字画',count:5,price:25},
            {name:'请领导吃饭',count:2,price:-250}
          ]
       })
     </script>
 </head>
 <body ng-controller='zhangsan'>
     <ul>
       <li ng-repeat='v in arr'>{{v.name}} 数量:{{v.count}} 支出{{v.count*v.price |kuaiji}}</li>
     </ul>
 </body>
</html>

相关文章

网友评论

      本文标题:自定义过滤器

      本文链接:https://www.haomeiwen.com/subject/wqpezttx.html