thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table.reference>thead>tr>td, table.reference>tbody>tr>td, table.reference>tfoot>tr>td {
padding: 8px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
div.chapter {
margin: 10px 0px 10px 0px;
padding: 0px;
width: auto;
overflow: hidden;
}
div.chapter div.prev {
width: 50%;
float: left;
text-align: left;
overflow: hidden;
white-space: nowrap;
}
div.chapter div.next {
width: 50%;
float: right;
text-align: right;
white-space: nowrap;
overflow: hidden;
}
-->
通过管道字符(‘|’),过滤器可以被添加到表达式和指令中。
AngularJS过滤器
AngularJS过滤器可以被用来转换(格式化)数据:
过滤器 | 描述 |
---|---|
currency | 将数字格式化为现金格式。 |
filter | 从一个集合中选择子项。 |
lowercase | 将字符串转换为小写形式。 |
orderBy | 通过一个表达式对集合元素进行排序。 |
uppercase | 将字符串转换为大写形式。 |
在表达式中添加过滤器
过滤器可以通过管道字符(‘|’)被添加到表达式。
接下来的两个示例我们将使用在之前的章节中使用过的person控制器。
uppercase过滤器用来将给定的字符串转换成大写形式:
<div ng-app="" ng-controller="personCtrl"> <p>The name is {{ lastName | uppercase }}</p> </div>
lowercase过滤器用来将给定的字符串转换成小写形式:
<div ng-app="" ng-controller="personCtrl"> <p>The name is {{ lastName | lowercase }}</p> </div>
currency过滤器
currency过滤器用来将数字格式化为现金格式:
<div ng-app="" ng-controller="costCtrl"> <input type="number" ng-model="quantity">
<input type="number" ng-model="price"> <p>Total = {{ (quantity * price) | currency }}</p> </div>
将过滤器添加到指令
过滤器也可以通过管道字符(‘|’)被添加到指令。
orderBy过滤器通过表达式对数组进行排序:
<div ng-app="" ng-controller="namesCtrl"> <ul>
<li ng-repeat="x in names | orderBy:'country'">
{{ x.name + ', ' + x.country }}
</li>
</ul> <div>
通过输入进行过滤
通过在指令中使用管道字符(‘|’),后面紧跟filter加冒号再加上一个模型的名称,可以形成一个输入过滤器,用来根据用户输入的内容对集合进行过滤:
<div ng-app="" ng-controller="namesCtrl"> <p><input type="text" ng-model="test"></p> <ul>
<li ng-repeat="x in names | filter:test | orderBy:'country'">
{{ (x.name | uppercase) + ', ' + x.country }}
</li>
</ul> </div>