【发布时间】:2020-08-27 22:47:52
【问题描述】:
我必须检查是否有任何“cuesData”的值或长度大于 0。 在下面的代码中,我只能检查第一个数组,而不能检查其他数组。
TS
checkValues(values) {
const result = Object.values(values).every((value) => value[1].cuesData.length > 0);
return result;
}
HTML
<div *ngIf="checkValues(values) === true">
JSON
[
[
"videoData__1",
{
"id": 1,
"title": "Pale Blue Dot",
"stoppedAt": 97.834667,
"cuesData": [
{
"startTime": 25.335678,
"endTime": 35.335678,
"description": "fqff"
}
]
}
],
[
"videoData__2",
{
"id": 2,
"title": "Big Buck Bunny",
"stoppedAt": 247.57881,
"cuesData": []
}
],
[
"videoData__3",
{
"id": 3,
"title": "Elephants Dream",
"stoppedAt": 404.585327,
"cuesData": []
}
]
]
【问题讨论】:
-
您可以在
function或组件属性中进行检查,并从您的ngIf中引用该属性。 -
你遇到的错误是什么
-
cuesData 是对象的属性而不是任何数组元素。*ngIf="values[0][1].cuesData.length > 0"
-
@ShlokNangia。它应该检查每个数组,而不仅仅是第一个数组。每个数组都有一个 cuesData 数组,所以我需要检查至少一个 cuesData 的值或长度是否大于 0
-
@Joseph,你的意思是这样吗? stackblitz.com/edit/my-angular-starter-yiye8g
标签: javascript arrays angular typescript ecmascript-2016