#angularjs常用過濾器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="app" ng-controller="ctrl">
貨幣currency:{{999.99|currency:'$':1}} <br />
數(shù)字number:{{999.111|number:2}} <br />
大寫lowercase:{{"CXIONG"|lowercase}} <br />
小寫uppercase: {{"cxiong"|uppercase}} <br />
截取字符limitTo:{{"cxiong"|limitTo:2:1}} <br />
日期data:{{time|date:'yyyy年MM月dd日 HH時(shí)mm分ss秒'}} <br />
排序orderBy:{{data|orderBy}} <br />
<!--filter精確匹配-->
過濾filter:{{data|filter:1:true}} <br />
</div>
<script type="text/javascript">
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]
}]);
</script>
</body>
</html>#$filter和callee應(yīng)用表格排序
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src='js/angular.min.js'> </script>
<style type="text/css">
.ng-cloak{display:none;}
</style>
</head>
<body ng-app="hd" ng-cloak class="ng-cloak">
<div ng-controller="ctrl">
<table border="" cellspacing="" cellpadding="">
<tr>
<th ng-click="sort('name')">名稱</th>
<th ng-click="sort('num')">數(shù)量</th>
<th ng-click="sort('price')">價(jià)格</th>
</tr>
<tr ng-repeat="d in data">
<td>`d`.`name`</td>
<td>`d`.`num`</td>
<td>`d`.`price`</td>
</tr>
</table>
</div>
<script type="text/javascript">
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 全局存放靜態(tài)變量
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])
}
}])
</script>
</body>
</html>#全局變量保存狀態(tài)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src='js/angular.min.js'> </script>
<style type="text/css">
.ng-cloak{display:none;}
</style>
</head>
<body ng-app="hd" ng-cloak class="ng-cloak">
<div ng-controller="ctrl">
<table border="1" cellspacing="" cellpadding="">
<tr>
<th ng-click="sort('name')">名稱</th>
<th ng-click="sort('num')">數(shù)量 `status`
<span ng-if="status">升序</span>
<span ng-if="!status">降序</span>
</th>
<th ng-click="sort('price')">價(jià)格</th>
</tr>
<tr ng-repeat="d in data">
<td>`d`.`name`</td>
<td>`d`.`num`</td>
<td>`d`.`price`</td>
</tr>
</table>
</div>
<script type="text/javascript">
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 全局存放靜態(tài)變量
// 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)
}
}])
</script>
</body>
</html>#$watch監(jiān)控某個(gè)變量
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="app" ng-controller="ctrl">
$watch: <input type="text" ng-model="title"/>`err`
</div>
<script type="text/javascript">
var m=angular.module('app',[]);
m.controller('ctrl',['$scope',function($scope){
$scope.title=''
//n為當(dāng)前輸入字符,o為上一次字符
$scope.$watch('title',function(n,o){
$scope.err=n.length>0?'':'不能為空';
})
}]);
</script>
</body>
</html>#$watch監(jiān)控某個(gè)對象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src='js/angular.min.js'> </script>
<style type="text/css">
.ng-cloak{display:none;}
</style>
</head>
<body ng-app="hd" ng-cloak class="ng-cloak">
<div ng-controller="ctrl">
請輸入姓名:<input type="text" ng-model="odata.name"/>`err`
</div>
<script type="text/javascript">
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?'':'不能為空';
});
}])
</script>
</body>
</html>#$watch和$filter實(shí)現(xiàn)排序和搜索框功能,自定義加*過濾器
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src='js/angular.min.js'> </script>
<style type="text/css">
.ng-cloak{display:none;}
</style>
</head>
<body ng-app="hd" ng-cloak class="ng-cloak">
<div ng-controller="ctrl">
搜索框:<input type="text" ng-model="search"/>
<table border="1" cellspacing="" cellpadding="">
<tr>
<th ng-click="sort('name')">名稱</th>
<th ng-click="sort('num')">數(shù)量
<span ng-if="status">升序</span>
<span ng-if="!status">降序</span>
</th>
<th ng-click="sort('price')">價(jià)格</th>
</tr>
<tr ng-repeat="d in tmp">
<td>`d`.`name`</td>
<td>`d`.`num`</td>
<td>{{d.price|truncate}}</td>
</tr>
</table>
</div>
<script type="text/javascript">
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 全局存放靜態(tài)變量
// 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)
}
//搜索框功能
//過濾后數(shù)據(jù)。用于顯示
$scope.tmp=$scope.data
$scope.$watch('search',function(n,o){
$scope.tmp=$filter('filter')($scope.data,n)
})
}])
</script>
</body>
</html>
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
標(biāo)題名稱:angularjs-$filter及callee,$watch-創(chuàng)新互聯(lián)
URL標(biāo)題:http://chinadenli.net/article22/ccggjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、企業(yè)建站、App設(shè)計(jì)、建站公司、域名注冊、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容