似乎我不知道如何一起创建带有3个Or子句的NgIf,但是我找不到错误的地方或要复制的任何示例:
*ngIf="owner === photo.calbum.community.user.id || owner === photo.album.user.id || isAdmin == true"
然后我有一个JSON对象,在某些记录中,但有时它具有相册中的照片(或者它为null),或者有时它具有一个属于社区的普通相册(或者它为null,因为照片属于到相册)。
在这两种情况下,它们都属于用户,但属于不同的对象。但是其中之一将始终为null,我需要检查整个JSON文件。
谢谢。
答案 0 :(得分:1)
尝试一下..因为我认为您的条件在html中使用boolean看起来不错,那为什么不尝试使用component
isTrue:boolean;
constructor(){
if((this.photo != null && (this.owner === this.photo.calbum.community.user.id || this.owner === this.photo.album.user.id)) || this.isAdmin == true){
this.isTrue=true;
}else {
this.isTrue=false;
}
}
并在html中添加此*ngIf=isTrue;
,或者您可以根据需要使用方法代替构造函数,并从html
调用它
答案 1 :(得分:1)
您可以使用吸气剂
在您的组件中
goto
答案 2 :(得分:0)
如果任何对象或其属性为null
,则必须使用(?)运算符
*ngIf="owner === photo?.calbum?.community?.user?.id || owner === photo?.album?.user?.id || isAdmin == true"
The safe navigation operator ( ?. ) and null property paths
另一种选择是创建属性或函数,您只能检查该值,但是需要处理该值是否为空。
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>