在Angular2 * ngFor迭代中,如何仅输出数组中的唯一值?

前端之家收集整理的这篇文章主要介绍了在Angular2 * ngFor迭代中,如何仅输出数组中的唯一值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
它有内置管道吗?
data = [
  {id: 5,name: 'Roger'},{id: 5,name: 'Mark'},name: 'Zach'},];

<ul>
  <li *ngFor="let datum of data">
    {{datum.name}}
  </li>
</ul>

产量

>罗杰
>马克
>扎克
>马克
>罗杰

期望的输出

>罗杰
>马克
>扎克

您可以创建自己的管道.
import { Pipe,PipeTransform } from '@angular/core';
import * as _ from 'lodash'; 

@Pipe({
  name: 'unique',pure: false
})

export class UniquePipe implements PipeTransform {
    transform(value: any): any{
        if(value!== undefined && value!== null){
            return _.uniqBy(value,'name');
        }
        return value;
    }
}

您需要在组件中添加UniquePipe,然后在管道中添加HTML文件.

<ul>
  <li *ngFor="let datum of data | unique">
    {{datum.name}}
  </li>
</ul>

猜你在找的Angularjs相关文章