angularjs-$filter及callee,$watch

#angularjs常用过滤器


 
  
  
  
 
 
  
   货币currency:{{999.99|currency:'$':1}} 
   数字number:{{999.111|number:2}} 
   大写lowercase:{{"CXIONG"|lowercase}} 
   小写uppercase: {{"cxiong"|uppercase}} 
   截取字符limitTo:{{"cxiong"|limitTo:2:1}} 
   日期data:{{time|date:'yyyy年MM月dd日 HH时mm分ss秒'}} 
   排序orderBy:{{data|orderBy}} 
   
   过滤filter:{{data|filter:1:true}} 
  
       var m=angular.module('app',[]);    m.controller('ctrl',['$scope',function($scope){      $scope.time=new Date().getTime()      $scope.data=[1,3,4,55,66,23,14,41]     }]);          
#$filter和callee应用表格排序


 
  
  
   
  
   .ng-cloak{display:none;}
  
 
 
  
   
    
     名称
     数量
     价格
    
    
     `d`.`name`
     `d`.`num`
     `d`.`price`
    
   
  
         var m=angular.module('hd',[])    m.controller('ctrl',['$scope','$filter',function($scope,$filter){     $scope.data=[      {'name':'iphone6','num':150,'price':3999},      {'name':'beats','num':100,'price':999},      {'name':'iphone7','num':500,'price':5999},      {'name':'ipad','num':250,'price':1999}     ]     var status=true     $scope.sort=function(field){      //arguments.callee 全局存放静态变量      if (arguments.callee[field]=='undefine') {       arguments.callee[field]=true      }      arguments.callee[field]=!arguments.callee[field]      $scope.data=$filter('orderBy')($scope.data,field,arguments.callee[field])     }         }])     
#全局变量保存状态


 
  
  
   
  
   .ng-cloak{display:none;}
  
 
 
  
   
    
     名称
     数量 `status`
      升序       
      降序 
     
     价格
    
    
     `d`.`name`
     `d`.`num`
     `d`.`price`
    
   
  
         var m=angular.module('hd',[])    m.controller('ctrl',['$scope','$filter',function($scope,$filter){     $scope.data=[      {'name':'iphone6','num':150,'price':3999},      {'name':'beats','num':100,'price':999},      {'name':'iphone7','num':500,'price':5999},      {'name':'ipad','num':250,'price':1999}     ]     $scope.status=false     $scope.sort=function(field){      //arguments.callee 全局存放静态变量 //     if (arguments.callee[field]=='undefine') { //      arguments.callee[field]=true //     } //     arguments.callee[field]=!arguments.callee[field]      //     $scope.data=$filter('orderBy')($scope.data,field,arguments.callee[field])      $scope.status=!$scope.status      $scope.data=$filter('orderBy')($scope.data,field,$scope.status)     }         }])     
#$watch监控某个变量


 
  
  
  
 
 
  
   $watch: `err`
  
       var m=angular.module('app',[]);    m.controller('ctrl',['$scope',function($scope){      $scope.title=''      //n为当前输入字符,o为上一次字符      $scope.$watch('title',function(n,o){       $scope.err=n.length>0?'':'不能为空';      })     }]);          
#$watch监控某个对象


 
  
  
   
  
   .ng-cloak{display:none;}
  
 
 
  
   请输入姓名:`err`
  
         var m=angular.module('hd',[])    m.controller('ctrl',['$scope','$filter',function($scope,$filter){         $scope.odata={'name':'cxiong','age':29};     $scope.$watch('odata.name',function(n,o){      $scope.err=n.length?'':'不能为空';     });    }])     
#$watch和$filter实现排序和搜索框功能,自定义加*过滤器


 
  
  
   
  
   .ng-cloak{display:none;}
  
 
 
  
   搜索框:
   
    
     名称
     数量
      升序       
      降序 
     
     价格
    
    
     `d`.`name`
     `d`.`num`
     {{d.price|truncate}}
    
   
  
  
  
   var m=angular.module('hd',[]);
   //自定义加*过滤器
   m.filter('truncate',function(){
    return function(price){
     return String(parseInt(price/100))+'**元'
    }
   })
   
   m.controller('ctrl',['$scope','$filter',function($scope,$filter){
    $scope.data=[
     {'name':'iphone6','num':150,'price':3999},
     {'name':'beats','num':100,'price':999},
     {'name':'iphone7','num':500,'price':5999},
     {'name':'ipad','num':250,'price':1999}
    ]
    
    //排序功能
    $scope.status=false
    $scope.sort=function(field){
     //arguments.callee 全局存放静态变量
//     if (arguments.callee[field]=='undefine') {
//      arguments.callee[field]=true
//     }
//     arguments.callee[field]=!arguments.callee[field]     
//     $scope.data=$filter('orderBy')($scope.data,field,arguments.callee[field])
     $scope.status=!$scope.status
     
     $scope.tmp=$filter('orderBy')($scope.data,field,$scope.status)
    }
    
    //搜索框功能
    //过滤后数据。用于显示
    $scope.tmp=$scope.data
    $scope.$watch('search',function(n,o){
     $scope.tmp=$filter('filter')($scope.data,n)
    })
   }])
  
 

分享标题:angularjs-$filter及callee,$watch
链接URL:http://csdahua.cn/article/jceice.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

其他资讯