为什么带有“-”的json变量仅在我的表中显示NaN?

时间:2019-04-04 17:39:13

标签: angular

我正在尝试在页面上显示来自服务器的json响应的结果,但是某些变量显示为NaN?

这是服务器发出的json响应:

{"data":[{"id":"2","attributes":{"title":"Customer 1","status":"cancelled","end-date":"2019-01-01"}}]}

我的客户服务:

getCustomers(): Observable<Customer[]> {
        return this.http.get<Customer[]>(this.url);
    }

我的客户组成部分:

    getCustomers(): void {
        this.customerService.getCustomers()
          .subscribe(cs => {
              this.customers = cs;
              //console.log(this.customers);
          });
    }

我的客户html:

        <tr *ngFor="let customer of customers.data">
            <td>{{ customer.id }}</td>
            <td>{{ customer.attributes.title }}</td>
            <td>{{ customer.attributes.status }}</td>
            <td>{{ customer.attributes.end-date }}</td>
        </tr>

这显示标题和状态,但不显示结束日期...?结束日期返回NaN。我想这是“-”搞砸了吗?我该怎么解决?

2 个答案:

答案 0 :(得分:3)

Typescript / JavaScript标识符中不允许使用破折号,您将必须使用数组语法来获取结束日期。

<td>{{ customer.attributes["end-date"] }}</td>

答案 1 :(得分:-1)

您需要先处理数据。

`let date = new Date('2019-01-01');`