从静止插入对象 API
Interpolate an object from rest API
你好,我在如何从 rest API 插入对象时遇到了问题,我可以在控制台日志中看到这些对象,但我无法将它绑定到我的 table 的标签中
这是我要在 table
中插入的对象
店员:
名称:“梅安妮”
[[原型]]:对象
这是我的service.ts
//fetch discounte Bill
fetchDiscountedBill(): Observable<any>{
return this.http.get(this.baseUrl + '/discountedBill');
}
这是model.ts
export class BillingModel{
clerk : {
name: string;
}
}
我用这个
把model.ts叫到我的table.component.ts
billingModel: BillingModel = {
clerk: {
name: ''
}
};
并用这个
创建一个方法
getDiscountedBill(){
this.dataStorageService.fetchDiscountedBill().subscribe(resp => {
console.log(resp)
this.billingModel = data;;
}, err => {
console.log(err)
});
}
这是我要插入或绑定对象的标签
<tr>
<td colspan="4">Attending Clerk: </td>
</tr>
请帮忙谢谢!
我认为你可以在组件方法中使用 this.BillingModel.clerk = resp.clerk
在订阅内的 ts 文件中,您可以将值分配为:
this.billingModel.clerk = resp.clerk;
然后使用 interpolation 在您的 html 模板中显示职员姓名:
{{billingModel?.clerk?.name}}
如果您的 HTTP 响应数据结构与您定义的模型相匹配,那么您可以在您的服务 class 方法中使用相同的类型:
fetchDiscountedBill(): Observable<BillingModel> {
return this.http.get<BillingModel>(this.baseUrl + '/discountedBill');
}
在订阅中你可以简单地做:
this.billingModel = resp;
另外在定义你的模型时,你不需要将它定义为一个class
,但可以将它定义为一个接口:
export interface BillingModel {
clerk: {
name: string;
}
}
我也有相同的问题数据显示在控制台中但未显示在 table
并且有人认为控制台中显示的数组名称是什么,名称在 ts 中写入,就像 res['name of array']
试试这个
getDiscountedBill(){
this.dataStorageService.fetchDiscountedBill().subscribe(resp => {
console.log(resp)
this.billingModel = res['orderList']; <== not work then try below ;
this.billingModel = res['clerk']; <== this will work
this.billingModel = res['clerk'].name; <== if you want to display name of clerk then try this
}, err => {
console.log(err)
});
}
你好,我在如何从 rest API 插入对象时遇到了问题,我可以在控制台日志中看到这些对象,但我无法将它绑定到我的 table 的标签中
这是我要在 table
中插入的对象店员: 名称:“梅安妮” [[原型]]:对象
这是我的service.ts
//fetch discounte Bill
fetchDiscountedBill(): Observable<any>{
return this.http.get(this.baseUrl + '/discountedBill');
}
这是model.ts
export class BillingModel{
clerk : {
name: string;
}
}
我用这个
把model.ts叫到我的table.component.tsbillingModel: BillingModel = {
clerk: {
name: ''
}
};
并用这个
创建一个方法 getDiscountedBill(){
this.dataStorageService.fetchDiscountedBill().subscribe(resp => {
console.log(resp)
this.billingModel = data;;
}, err => {
console.log(err)
});
}
这是我要插入或绑定对象的标签
<tr>
<td colspan="4">Attending Clerk: </td>
</tr>
请帮忙谢谢!
我认为你可以在组件方法中使用 this.BillingModel.clerk = resp.clerk
在订阅内的 ts 文件中,您可以将值分配为:
this.billingModel.clerk = resp.clerk;
然后使用 interpolation 在您的 html 模板中显示职员姓名:
{{billingModel?.clerk?.name}}
如果您的 HTTP 响应数据结构与您定义的模型相匹配,那么您可以在您的服务 class 方法中使用相同的类型:
fetchDiscountedBill(): Observable<BillingModel> {
return this.http.get<BillingModel>(this.baseUrl + '/discountedBill');
}
在订阅中你可以简单地做:
this.billingModel = resp;
另外在定义你的模型时,你不需要将它定义为一个class
,但可以将它定义为一个接口:
export interface BillingModel {
clerk: {
name: string;
}
}
我也有相同的问题数据显示在控制台中但未显示在 table
并且有人认为控制台中显示的数组名称是什么,名称在 ts 中写入,就像 res['name of array']
试试这个
getDiscountedBill(){
this.dataStorageService.fetchDiscountedBill().subscribe(resp => {
console.log(resp)
this.billingModel = res['orderList']; <== not work then try below ;
this.billingModel = res['clerk']; <== this will work
this.billingModel = res['clerk'].name; <== if you want to display name of clerk then try this
}, err => {
console.log(err)
});
}