您的位置:首页 > Web前端 > AngularJS

angularjs自定义过滤器

2017-06-20 23:05 429 查看
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>angularjs自定义过滤器</title>
<link rel="stylesheet" href="bootstrap.min.css" />
<script src="jquery-2.1.3.min.js"></script>
<script src="bootstrap.min.js"></script>
<script src="angular.min.js"></script>
</head>
<body ng-app="Demo" ng-controller="testCtrl">
关键字:<input ng-model="key">
<table class="table table-bordered">
<tr>
<td ng-click="orderBy('id')" style="cursor: pointer">序号</td>
<td ng-click="orderBy('name')" style="cursor: pointer">名字</td>
<td ng-click="orderBy('phone')" style="cursor: pointer">邮箱</td>
</tr>
<tr ng-repeat="item in lists">
<td>{{item.id}}</td>
<td>{{item.name}}</td>
<td>{{item.phone |trunct:4}}</td>
</tr>
</table>
<script type="text/javascript">
(function(){
var app = angular.module('Demo', ["ngAnimate"])
.controller('testCtrl',testCtrl);

app.filter('trunct', function () {
return function (mobile, len) {
mobile = mobile.substr(0, (11 -len)) + new String("*").repeat(len);
return mobile;
}
});

function testCtrl($scope, $filter) {
$scope.items = [
{ id: "1", name : "小白牛", phone : "13465352119" },
{ id: "2", name : "迷迭香", phone : "1565354662" },
{ id: "3", name : "龙之谷", phone : "19765354891" },
];

$scope.status = {id:false, name: false, phone :false};
$scope.lists = angular.copy($scope.items);
$scope.orderBy = function (item) {
$scope.status[item] = !$scope.status[item];
$scope.lists = $filter('orderBy')($scope.lists,item, $scope.status[item]);
};
$scope.lists = $scope.items;
$scope.$watch('key',function (n, w) {
$scope.lists = $filter('filter')($scope.items, n);
});
}
}());

</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  angularjs