服务以这种格式返回数据。我可以在开发人员工具栏中看到数据。
{"results":{"BindGridDatatable":[{"ID":"0005","Name":"Rohit"},
{"ID":"0006","Name":"Rahul"}],
"Totalvalue":119}}
我在组件中以这种方式接收
btnSearch(){
this.service.postControlResult(this.myForm.value).subscribe(
(res: Response)=> {
this.data = res ;
},err => console.error(err)
);
}
在HTML文件中,我尝试了多种方式来显示数据,例如
<div class="table">
<div class="row" *ngFor="let d of data ">
{{d.BindGridDatatable.ID}}
</div>
</div>
和
<div class="table">
<div class="row" *ngFor="let d of data.BindGridDatatable ">
{{d}}
</div>
</div>
我只想将BindGridDatatable绑定到this.data对象和要存储在单独变量中的Totalvalue。
我收到错误TypeError:无法读取未定义的属性'BindGridDatatable'
答案 0 :(得分:3)
根据您的结果,您需要像这样进行迭代-
public function handle(MessageSent $event)
{
$message_id = $event->message
->getHeaders()
->get('x-ses-message-id')
->getValue();
}
PS:Angular安全导航运算符(?。)是一种流畅而便捷的方法,可防止在属性路径中出现null和undefined值。
并且通常用于异步调用数据绑定中,在初始阶段变量值是null或未定义,以避免此类问题,我们使用安全的导航运算符<div class="table">
<div class="row" *ngFor="let d of data?.results?.BindGridDatatable">
{{d?.ID}} - {{d?.Name}}
</div>
</div>
有关?
答案 1 :(得分:2)
您的响应是一个对象,而不是数组。 因此使用
let d of d.results.BindGridDatatable
在ngfor