首页 > 解决方案 > 使用带有条件的 ngFor 逗号分隔字符串?

问题描述

我想从数组中生成逗号分隔的字符串。

这是我的数据:

responseData= [{ name: 'Some Data 1', type:'action' }, 
               { name: 'Some Data 2', type:'action' },
               { name: 'Data 3', type:'NA' }, 
               { name: 'Data 4', type:'action' },
               { name: 'Data 5', type:'NA' }];

这就是我循环的方式。我只想遍历actiontype

<div *ngFor="let data of responseData; let last=last">
    <div *ngIf="data.type=='action'">
        {{ data.name}} {{last?'':', '}}
    </div>
</div>

但最后我留下了另一个逗号。我该如何删除它?

任何帮助将非常感激。谢谢!

标签: javascriptangular

解决方案


last 没有被应用的原因是最后一个元素不是“action”类型。

作为修复,您可以创建一个自定义函数来首先过滤初始数据并应用相同的逻辑,

<div *ngFor="let data of filterFunction(responsedata); last as isLast">
    <div >
        {{ data.name}}  {{isLast?'':', '}}
    </div>
</div>

演示


推荐阅读