【发布时间】:2019-03-31 19:08:54
【问题描述】:
首先,我按照这个例子:Heroes 作为参考。唯一的区别 是 API 方法,在我的例子中是 post 而不是 get;
我有这个界面:
export interface IContasMae {
codEstab: string;
codProduto: string;
desContaMae: string;
codRep: number;
numQuantidade: number;
numValVenda: number;
numValMedio: number;}
在服务中我有方法:
getContasMae() : Observable<IContasMae[]> {
if (this.getUser()) {
return this.http.post<IContasMae[]>(`${environment.api_url}/getContasMae`,'');
}
}
组件的contasMae属性定义为:
export class PanelDashboardComponent implements OnInit {
public contasMae: IContasMae[];
(IContasMae就是上面的接口)
在组件上,方法是这样调用的:
this.service.getContasMae().subscribe(contasMae =>
{
console.log('Observable:',contasMae);
this.contasMae = contasMae;
});
console.log('Resultado:',this.contasMae);
}
Observable的console.log显示:
Observable: {contasMae: Array(10)}
contasMae: Array(10)
0: {codEstab: "001", codProduto: "PRODUCT 1", desContaMae: "Account 1", codRep: "0", numQuantidade: "70302.8", …}
1: {codEstab: "001", codProduto: "PRODUCT 1", desContaMae: "Account 2", codRep: "0", numQuantidade: "391937.15", …}
2: {codEstab: "001", codProduto: "PRODUCT 1", desContaMae: "Account 3", codRep: "0", numQuantidade: "1638", …}
3: {codEstab: "001", codProduto: "PRODUCT 1", desContaMae: "Account 4", codRep: "0", numQuantidade: "3795", …}
4: {codEstab: "001", codProduto: "PRODUCT 2", desContaMae: "Account 5", codRep: "0", numQuantidade: "320000", …}
5: {codEstab: "001", codProduto: "PRODUCT 2", desContaMae: "Account 6", codRep: "0", numQuantidade: "2140", …}
6: {codEstab: "001", codProduto: "PRODUCT 2", desContaMae: "Account 7", codRep: "0", numQuantidade: "660", …}
7: {codEstab: "001", codProduto: "PRODUCT 2", desContaMae: "Account 8", codRep: "0", numQuantidade: "128616", …}
8: {codEstab: "001", codProduto: "PRODUCT 2", desContaMae: "Account 9", codRep: "0", numQuantidade: "128540", …}
9: {codEstab: "001", codProduto: "PRODUCT 2", desContaMae: "Account 10", codRep: "0", numQuantidade: "2056", …}
length: 10
__proto__: Array(0)
__proto__: Object
但是,this.contasMae的console.log显示:
Resultado: undefined
怎么了?如何在 this.contasMae 中获得结果?
有人可以帮忙吗?
提前致谢。
【问题讨论】:
-
我认为你误解了 Observables 的工作原理。如果你告诉我你想用
this.contasMae的值做什么,我可以给你一个很好的详细答案。 -
非常感谢您的帮助,丹。我需要获取要在模板中使用的数据(例如 ngFor),还需要汇总产品和总收入,获取图表标签和值的键。我需要处理数组(forEach、Sort 等)。
标签: arrays typescript get observable angular6