過濾器用于修改數(shù)據(jù)??梢允褂秘Q線(|)字符將它們組合在表達(dá)式或指令中。以下列表顯示了常用的過濾器。
序號(hào) | 名稱與說明 |
---|---|
1 |
將文本轉(zhuǎn)換為大寫文本。 |
2 |
將文本轉(zhuǎn)換為小寫文本。 |
3 |
以貨幣格式設(shè)置文本格式。 |
4 |
根據(jù)提供的條件將數(shù)組過濾為數(shù)組的子集。 |
5 |
根據(jù)提供的條件對(duì)數(shù)組排序。 |
使用管道字符將大寫過濾器添加到表達(dá)式。在這里,我們添加了大寫過濾器,以所有大寫字母打印學(xué)生姓名。
輸入名字:<input type = "text" ng-model = "student.firstName"> 輸入姓氏: <input type = "text" ng-model = "student.lastName"> 大寫姓名: {{student.fullName() | uppercase}}
使用管道字符將小寫過濾器添加到表達(dá)式。在這里,我們添加了小寫過濾器,以所有小寫字母打印學(xué)生姓名。
輸入名字:<input type = "text" ng-model = "student.firstName"> 輸入姓氏: <input type = "text" ng-model = "student.lastName"> 小寫姓名: {{student.fullName() | lowercase}}
使用豎線字符將貨幣過濾器添加到表達(dá)式返回?cái)?shù)字中。在這里,我們添加了貨幣過濾器以使用貨幣格式打印費(fèi)用。
輸入費(fèi)用: <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)記對(duì)主題進(jìn)行排序,我們使用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>輸入費(fèi)用: </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>費(fèi)用: </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>測(cè)試看看?/?
輸出結(jié)果
在網(wǎng)絡(luò)瀏覽器中打開文件testAngularJS.htm。查看結(jié)果。