【发布时间】:2017-01-14 00:42:29
【问题描述】:
在过滤 JSON 数据中的特定变量时,我有一个关于如何避免打字稿错误的问题。 我的部分 JSON 数据如下所示:
多媒体内容:
"per_facet": [],
"geo_facet": [],
"multimedia": [
{
"url": "https://static01.nyt.com/images/2016/09/07/world/06NYTNow-Obama2/06NYTNow-Obama2-thumbStandard-v2.jpg",
"format": "Standard Thumbnail"
},
{
"url": "https://static01.nyt.com/images/2016/09/07/world/06NYTNow-Obama2/06NYTNow-Obama2-thumbLarge-v2.jpg",
"format": "thumbLarge",
}]
另一个没有多媒体内容的元素:
"per_facet": [],
"geo_facet": [],
"multimedia": [],
如您所见,数组上的“多媒体”变量在数组中的一个元素上具有内部值,而在其他元素上则没有。
这就是我尝试检索该参数(这是一个图像)的方式。
<img [src]= "item.multimedia[0].url" *ngIf="item.multimedia[0].url.indexOf('http') === 0">
当我尝试读取多媒体数组的 url 参数时, 它会导致错误 ERR:“无法读取未定义的 URL”。 (这是完全可以理解的,因为没有数据可显示。) 这适用于 Javascript。我不知道如何解决这个问题。
如何避免此错误并成功从该数组中检索其他参数。
提前致谢。 苏雷什
【问题讨论】:
-
请勿发布代码图片。
-
这不应该是
*ngIf?另外,您知道item.multimedia[0].?url语法,对吗? -
"这适用于 Javascript" 怎么样?访问
([])[0]会给你 undefined,当你使用 .url 时会导致该错误。
标签: arrays json typescript ionic2