【发布时间】:2019-07-12 12:43:56
【问题描述】:
当用户点击用户列表中的查看按钮时,我想在不同的页面上显示特定用户的数据。
我有获取数据表单 API。当我单击用户列表中的查看按钮时,我会重定向到查看页面并在控制台表单 API 中获取所有用户数据。
但是用户数据不显示在视图 html 页面中。
以下是我尝试过的代码
组件代码 ts 文件
mediaData: any = {};
getMediaType() {
let media_id = this.media_id;
this.service.getSingleMediaType(media_id).subscribe(
res => {
this.mediaData = res[0];
console.log(this.mediaData);
},
err => {
if (err instanceof HttpErrorResponse) {
if (err.status == 401) {
this.router.navigate(['/others/signin']);
}
}
}
);
}
以下是我的html代码
<div class="pb-1">
<div>
<mat-label>Upin</mat-label></div>
<mat-form-field>
<input matInput readonly value="{{ mediaData ? mediaData?.upin: ''}}">
</mat-form-field>
</div>
<div class="pb-1">
<div>
<mat-label>Bid Type</mat-label></div>
<mat-form-field>
<input matInput readonly value="{{ mediaData ? mediaData?.type: ''}}">
</mat-form-field>
</div>
以下是服务功能
getSingleMediaType(media_id) {
return this.http.get<any>(`${this.apiUrl}getMediaType/${media_id}`);
}
请为此帮助我。在此先感谢您。
P.S:有些时间数据会在一段时间后显示,但有些时间不会显示。当我在查看页面上打开控制台登录时,会显示用户数据。我不明白这是怎么回事。
【问题讨论】:
-
你什么时候打电话给
getMediaType()?你能显示一些代码吗? -
我在 ngOnInit 中调用
getMediaType()以下是我的代码ngOnInit() { this.media_id = this.route.snapshot.paramMap.get('id'); // console.log(this.media_id); this.getMediaType(); } -
你能发布
console.log(this.mediaData);语句的控制台输出吗? -
@prabhakaran 它是一个 json 对象
{addr: "Nr. Rakhiyal Gujarat Botling Circle, Navnirman Co. Op. Bank Corner, 132 Foot Ring Road, Right side of Rakhiyal to Nagarvel Road Rakhiyal" bid_type: 1 connect_area: "1" del_flag: 0 det_addr: "NA" disp: 1 foot_spec: "Circle" h_height: 12 h_width: 12 hoard_details: "ASD" hoard_name: "ASD" id: 1 illu: "2" land: "Rakhiyal Circle" licno: "" media_ext: "None" media_road: "hoarding-0" media_type: 5 media_ward: "DUDHESWAR" media_zone: "5" mtype: "ROAD PACKAGE" pack_details: "" pack_name: "" } -
我在上面的 json 对象中没有看到
upin或type属性。尝试在当前控制台语句旁边添加控制台语句console.log('upin',this.mediaData.upin); console.log('type',this.mediaData.type);以验证预期数据是否到达。
标签: angular data-binding delay