Angular 为什么json变量带有-&引用;只是把NaN放在我的桌子上?

Angular 为什么json变量带有-&引用;只是把NaN放在我的桌子上?,angular,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<Cus

我试图在我的页面上显示来自服务器的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);
    }
我的客户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>

{{customer.id}
{{customer.attributes.title}
{{customer.attributes.status}
{{customer.attributes.end-date}

显示标题和状态,但不显示结束日期。。。?结束日期返回NaN。我猜是“-”把事情搞砸了?如何解决此问题?

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

<td>{{ customer.attributes["end-date"] }}</td>
{{customer.attributes[“结束日期”]}

您需要先处理数据

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

它可能将其作为一个数学表达式来计算
customer.attributes.end-date
let date = new Date('2019-01-01');