angular - 使用 as 关键字,然后在同一 ngIf 中使用长度
问题描述
我想避免多次同步操作,并想用“AS”关键字分配异步属性并进一步检查长度。我尝试了以下代码,但它给出了错误:
<div *ngIf="(selectedNames$ | async as selectedNames)?.length"> {{selectedNames}}</div>
我也尝试了另一种选择,但仍然是一样的:
<div *ngIf="((selectedNames$ | async) as selectedNames)?.length"> {{selectedNames}}</div>
括号似乎不在正确的位置。甚至可能吗?
解决方案
获得所需结果的一种方法是使用两个*ngIf
指令。第一个应用于 an ng-container
,定义selectedNames
变量。第二个将*ngIf
条件 withselectedNames.length
应用于div
元素:
<ng-container *ngIf="(selectedNames$ | async) as selectedNames">
<div *ngIf="selectedNames.length">
{{selectedNames | json}}
</div>
</ng-container>
请参阅此 stackblitz以获取演示。
推荐阅读
- pandas - 无法强制列表
到系列/数据框 - c# - 配置端点 SABRE SOAP API .Net
- c# - 为什么在我使用控制器添加迁移后没有生成我的表?
- django - 简单的内部服务器错误,因为运行 uwsgi 不断删除 .sock 文件
- api - Flask RESTful API 和 Web 模板
- c# - 混合大小写几乎完成,但for循环长度与全名和字母长度不同
- python - 在 PyTorch 矩阵中每行索引一个元素
- postgresql - 身份验证失败,但可以使用这些凭据登录 PostgreSQL
- amazon-web-services - 如何将现有 AWS IAM 用户迁移到 AWS SSO 跨账户?
- python - 芹菜节拍:连接错误:[Errno 107] 对已关闭文件的操作