字符串插值导致Angular 2应用程序中的未定义错误

时间:2017-09-29 17:19:03

标签: javascript angular typescript string-interpolation

我试图通过字符串插值在我的Angular 2应用程序中向视图显示一些数据。对于大部分可以使用的页面,但我在这一部分中收到的错误对我来说没有意义。它看起来应该有效,但我得到了一个未定义的'错误。

以下是我访问的数据(注意:"联系人"位于文档的根目录下):

"contacts": [
    {
        "contact": {
            "_id": "111111111",
            "email": [
                "person@email.com"
            ],
            "name": {
                 "first": "Person",
                 "last": "Lastname"
            }
     }
]

我正在尝试使用以下方法访问模板中的电子邮件值:

首先,我尝试访问这样的电子邮件地址:

{{contacts[0]?.contact?.email[0]}}

但得到了这个错误:

  

无法阅读财产' 0'未定义的

然后我尝试了一个命名索引:

{{contacts['contact']?.email[0]}}

这也行不通。我收到这个错误:

  

无法阅读财产'联系'未定义的

这是一个记录,我知道那里有一个值。所以我不清楚为什么这不起作用?关于我如何在这里访问这些值,看起来有什么问题?

1 个答案:

答案 0 :(得分:0)

Contacts array ,您应该使用 index

进行访问
{{contacts[0]?.contact?.email[0]}}

如果不使用 ngFor

<li *ngFor="let conctact of contacts">
      {{ conctact.email[0]}}
</li>