📜  AngularJS 中的过滤器是什么?(1)

📅  最后修改于: 2023-12-03 14:39:14.500000             🧑  作者: Mango

AngularJS中的过滤器

AngularJS中的过滤器是用于在视图层面上格式化和转换数据的工具。它们可以应用于各种数据类型,包括字符串、数字、日期等。

AngularJS中的过滤器可以通过管道运算符"|"来使用。例如,下面的例子将会使用currency过滤器将一个数字格式化为货币格式:

<p>价格: {{ price | currency }}</p>

AngularJS中内置了多个过滤器,下面列举一些常用的过滤器及其用法:

1. currency

currency过滤器用于将数字格式化为货币格式。该过滤器可以接受一个可选参数,用于指定货币符号、小数点位数等。

<p>价格: {{ price | currency:'¥':2 }}</p>

上述例子将数字格式化为¥符号的货币格式,小数点后有两位。

2. date

date过滤器用于将日期格式化为指定格式。该过滤器可以接受一个可选参数,用于指定日期格式。具体的日期格式可以参考JavaScript的Date对象。

<p>日期: {{ date | date:'yyyy-MM-dd HH:mm:ss' }}</p>

上述例子将日期格式化为yyyy-MM-dd HH:mm:ss的格式。

3. filter

filter过滤器用于过滤数组或对象数据。该过滤器可以接受一个可选参数,用于指定过滤条件。

<ul>
  <li ng-repeat="item in items | filter:'John'">{{ item }}</li>
</ul>

上述例子将数组items中包含字符串"John"的元素过滤出来,并将其渲染为一个列表。

4. limitTo

limitTo过滤器用于限制字符串或数组的长度。该过滤器可以接受一个或两个参数,用于指定限制的长度和起始位置。

<p>{{ text | limitTo:10:0 }}</p>

上述例子将text字符串限制为前10个字符。

5. orderBy

orderBy过滤器用于排序数组。该过滤器可以接受一个可选参数,用于指定排序的方式(升序或降序)。

<ul>
  <li ng-repeat="item in items | orderBy:'-score'">{{ item.name }}({{ item.score }})</li>
</ul>

上述例子将数组items按照score属性进行降序排序,然后将每个元素的name和score属性渲染为一个列表项。

总之,AngularJS中的过滤器是一个非常强大的工具,可以方便地实现数据的格式化、转换和过滤,为应用程序的开发和维护带来了极大的便利。