angular - 如果值为空,如何不使用管道
问题描述
我在使用 Pipe - split 的地方得到了简单的表格,如下所示:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'split' })
export class SplitRecipientsPipe implements PipeTransform {
transform(rec: any) {
return rec
.split(',')
.filter(Boolean)
.map(r => r.trim());
}
}
我的桌子看起来像
<tbody>
<tr *ngFor="let r of recipients.recipients | split; let i = index">
<td>{{r}}</td>
<td style="width: 60px"><button class="btn btn-sm btn-danger"
(click)="_delete(r, recipients, aliases)">Delete</button></td>
</tr>
</tbody>
它在r
不为空但r
为空时工作正常 - 拆分管道仍然有效并产生问题。
我怎样才能只在r
不为空时调用这个管道?
解决方案
像这样返回
return rec ? rec.split(',').filter(Boolean).map(r => r.trim()) : [];
如果迭代不是数组,您的 *ngFor 也会出错
推荐阅读
- visual-studio-code - 如何使用 bazel 将所有依赖项下载到本地?
- python - Scrapy 重复过滤器可以在 Jobs 中保持不变吗?
- powerapps - 使用 Navigate on screen OnVisible 重定向未经授权的用户
- java - 如何在 Spring Boot 应用程序中测试 Quartz 作业的正常工作
- sql-server - 关于条件的 PARTITION BY 语句
- ios - 使用 Firebase 登录 iOS 13.2 的导航/Segue
- python - 如何从纽约时报网络抓取某个类别的所有文章
- c++ - 模板类使用参数包时如何传递其他模板参数?
- assembly - 当我试图在给定的汇编代码下编译时,它给出了错误未定义的符号:AXSAVE
- machine-learning - 使用用户输入测试预测模型