* ng如果值存在于数组中

Vla*_*d N 4 javascript typescript angular

我对ngIf指令有疑问。

我的应用程序中有一些角度材质切换是动态生成的,它们都有特定的ID。我想知道,我知道使用ngIf指令可以在页面上有条件地显示那些元素。我正在将ngIf用于其他函数,但是我对如何检查元素的ID是否存在于数组中有些困惑。

该数组如下所示:

["fc-vis", "fc-bis", "fc-dis"]
Run Code Online (Sandbox Code Playgroud)

我的切换开关都有id:fc-vis / fc-bis ...等。

我尝试使用ngIf,但是我不知道如何在条件中发送元素的ID ...否则我可能做错了

我正在尝试做的事情是这样的:

*ngIf="object.id in myArrayList" 
Run Code Online (Sandbox Code Playgroud)

要么

*ngIf="checkIfExists(object.id)"
Run Code Online (Sandbox Code Playgroud)

关于如何在条件中使用对象的ID来检查它是否存在于该数组中的任何想法?

pal*_*aѕн 7

您可以includes()在此处使用数组方法:

*ngIf="myArrayList.includes(object.id)" 
Run Code Online (Sandbox Code Playgroud)


Avi*_*ash 7

您还可以使用 Array indexOf()方法,如果元素不在数组中,则返回 -1:
在您的 ts -
const myArray = ["fc-vis", "fc-bis", "fc-dis"]
在模板中 -
*ngIf="myArray.indexOf(object.id) > -1"
使用 templateRef 获取元素的 id,例如:

<div id="fc-vis" #myId>
  <p *ngIf="myArray.indexOf(myId?.id) > -1">{{myId.id}} working </p> 
</div>
Run Code Online (Sandbox Code Playgroud)