angular - 带有 3 个 or 子句和空对象的 NgIF
问题描述
看起来我不知道如何创建一个带有 3 个 Or 子句的 NgIf,但我找不到错误或任何要复制的示例:
*ngIf="owner === photo.calbum.community.user.id || owner === photo.album.user.id || isAdmin == true"
然后我有一个 JSON 对象,在某些记录中,但有时它有一张来自相册的照片(或者它为空),或者有时它有一个属于社区的公共相册(或者它是空的,因为照片属于相册)。
在这两种情况下,它们都属于一个用户,但通过不同的对象。但其中之一将始终为空,我需要检查整个 JSON 文件。
谢谢。
解决方案
如果有任何对象或其属性,则必须使用 (?) 运算符null
*ngIf="owner === photo?.calbum?.community?.user?.id || owner === photo?.album?.user?.id || isAdmin == true"
另一种选择是创建一个属性或函数,您只能检查此值,但您需要处理检查该值是否为空。
get state() : boolean{
if (this.isAdmin ) {
return true
} else if (this.photo && this.photo.calbum) {
return this.owner === this.photo.calbum.community.user.id
} else if (this.photo && this.photo.album) {
return this.owner === this.photo.album.user.id
} else {
return false;
}
}
模板
<div *ngIf="state">/<div>
推荐阅读
- c++ - 访问检查如何在类型别名模板中工作?
- java - 如何在java中使用AWS Textract检索pdf中存在的表
- apache-kafka - kafka ack的目的是什么?
- nestjs - 为什么 Post 请求中的 @Body() 无法正常工作?[巢穴.js]
- perl - 为什么 perl while (<>) 无法计算或打印第一行
- ggplot2 - 圆形 ggraph 图的 geom_nodelabel_repel() 位置
- c++ - 任何人都可以建议以下代码的时间复杂度
- google-sheets - 如何在具有特定条件的谷歌表格中使用条件格式来做替代颜色
- javascript - 无法使用 javascript 从本地存储中加载已删除项目的保存位置
- c++ - 当引入所有负输入时程序输出变得不稳定?