我有一个像这样的json文件
{
"report": {
"description": "Average of the quantity of items per person (total and just non-infected)",
"average_items_quantity_per_person": 164.7473903966597,
"average_items_quantity_per_healthy_person": 172.29787234042553
}
}
我的report.model.ts
export class Report{
constructor(
public description: string,
public average_items_quantity_per_person: number,
public average_items_quantity_per_healthy_person: number
){}
}
我的report.component.ts
但每当我尝试调用HTML文件时
{{printa(report)}}
我收到此错误
有谁知道这个错误是什么,或者我是否与正确的.model的JSON文件相关
答案 0 :(得分:0)
您需要传递报告,因为您要将数据分配给变量报告
{{printa(reports)}}
或者您可以直接将描述字段打印为
console.log(this.reports.description);
答案 1 :(得分:0)
假设您的printa(report)
是拼写错误,并且您确实有printa(reports)
,那么您会收到此错误,因为Angular在您的报表服务设置数据之前调用此函数。由于reports
在调用第一个undefined
回调之前为subscribe
,因此它会调用printa(undefined)
,然后尝试在第25行访问undefined.description
。
有两种方法可以解决这个问题。将reports
成员初始化为包含空description
属性,如
public reports: Report = {
description: '',
average_items_quantity_per_person: NaN,
average_items_quantity_per_healthy_person: NaN,
};
或添加支票printa
,以便在r
undefined
为public printa(r: Report) {
if (!r) { return; }
console.log(r.description);
}
时返回
localStorage.youdataname = xyz;