過濾器用于修改數(shù)據(jù)??梢允褂秘Q線(|)字符將它們組合在表達式或指令中。以下列表顯示了常用的過濾器。
| 序號 | 名稱與說明 |
|---|---|
| 1 |
將文本轉(zhuǎn)換為大寫文本。 |
| 2 |
將文本轉(zhuǎn)換為小寫文本。 |
| 3 |
以貨幣格式設(shè)置文本格式。 |
| 4 |
根據(jù)提供的條件將數(shù)組過濾為數(shù)組的子集。 |
| 5 |
根據(jù)提供的條件對數(shù)組排序。 |
使用管道字符將大寫過濾器添加到表達式。在這里,我們添加了大寫過濾器,以所有大寫字母打印學(xué)生姓名。
輸入名字:<input type = "text" ng-model = "student.firstName">
輸入姓氏: <input type = "text" ng-model = "student.lastName">
大寫姓名: {{student.fullName() | uppercase}}使用管道字符將小寫過濾器添加到表達式。在這里,我們添加了小寫過濾器,以所有小寫字母打印學(xué)生姓名。
輸入名字:<input type = "text" ng-model = "student.firstName">
輸入姓氏: <input type = "text" ng-model = "student.lastName">
小寫姓名: {{student.fullName() | lowercase}}使用豎線字符將貨幣過濾器添加到表達式返回數(shù)字中。在這里,我們添加了貨幣過濾器以使用貨幣格式打印費用。
輸入費用: <input type = "text" ng-model = "student.fees">fees: {{student.fees | currency}}要僅顯示必需的主題,我們使用subjectName作為過濾器。
輸入主題: <input type = "text" ng-model = "subjectName">
主題:
<ul>
<li ng-repeat = "subject in student.subjects | filter: subjectName">
{{ subject.name + ', marks:' + subject.marks }}
</li>
</ul>要按標(biāo)記對主題進行排序,我們使用orderBy標(biāo)記。
Subject:
<ul>
<li ng-repeat = "subject in student.subjects | orderBy:'marks'">
{{ subject.name + ', marks:' + subject.marks }}
</li>
</ul>以下示例顯示了上述所有過濾器的使用。
<html>
<head>
<title>Angular JS Filters</title>
<script src = "https://cdn.staticfile.org/angular.js/1.3.14/angular.min.js">
</script>
</head>
<body>
<h2>AngularJS 過濾器使用示例</h2>
<div ng-app = "mainApp" ng-controller = "studentController">
<table border = "0">
<tr>
<td>輸入名字:</td>
<td><input type = "text" ng-model = "student.firstName"></td>
</tr>
<tr>
<td>輸入姓氏: </td>
<td><input type = "text" ng-model = "student.lastName"></td>
</tr>
<tr>
<td>輸入費用: </td>
<td><input type = "text" ng-model = "student.fees"></td>
</tr>
<tr>
<td>輸入主題: </td>
<td><input type = "text" ng-model = "subjectName"></td>
</tr>
</table>
<br/>
<table border = "0">
<tr>
<td>大寫名稱: </td><td>{{student.fullName() | uppercase}}</td>
</tr>
<tr>
<td>小寫名稱: </td><td>{{student.fullName() | lowercase}}</td>
</tr>
<tr>
<td>費用: </td><td>{{student.fees | currency}}
</td>
</tr>
<tr>
<td>主題:</td>
<td>
<ul>
<li ng-repeat = "subject in student.subjects | filter: subjectName |orderBy:'marks'">
{{ subject.name + ', marks:' + subject.marks }}
</li>
</ul>
</td>
</tr>
</table>
</div>
<script>
var mainApp = angular.module("mainApp", []);
mainApp.controller('studentController', function($scope) {
$scope.student = {
firstName: "Mahesh",
lastName: "Parashar",
fees:500,
subjects:[
{name:'Physics',marks:70},
{name:'Chemistry',marks:80},
{name:'Math',marks:65}
],
fullName: function() {
var studentObject;
studentObject = $scope.student;
return studentObject.firstName + " " + studentObject.lastName;
}
};
});
</script>
</body>
</html>測試看看?/?輸出結(jié)果
在網(wǎng)絡(luò)瀏覽器中打開文件testAngularJS.htm。查看結(jié)果。
