Javascript 角度4均值堆栈:如何根据另一个{{value}获取值
我对angular 4不熟悉,不知道如何得到我的解决方案。 我从mongodb获取数据,它工作正常 字段中的contact.company是公司的_id。公司名称保存在company.name中 应该有client.name(这是公司的名称)来代替{{contact.company}}(存储id的地方),以显示真实的名称,而不是id。如何获取它 我想我需要自动调用一个方法,从数据库中获取值 完整的代码在这里 完整代码如下:Javascript 角度4均值堆栈:如何根据另一个{{value}获取值,javascript,angular,Javascript,Angular,我对angular 4不熟悉,不知道如何得到我的解决方案。 我从mongodb获取数据,它工作正常 字段中的contact.company是公司的_id。公司名称保存在company.name中 应该有client.name(这是公司的名称)来代替{{contact.company}}(存储id的地方),以显示真实的名称,而不是id。如何获取它 我想我需要自动调用一个方法,从数据库中获取值 完整的代码在这里 完整代码如下: 我不确定我是否理解你的问题,告诉我我错了。 您希望显示联系人数据,但对于
我不确定我是否理解你的问题,告诉我我错了。 您希望显示联系人数据,但对于字段contact.company,您希望使用函数:getClient(contact)在id:contact.company的函数中显示从数据库中获取的真实姓名 如果是这样,为什么要等到显示数据后才能得到公司的真实名称?为什么不解析联系人数组并添加一个字段:contact_name从头开始,我是说在ngOnInit中 如果是这样,您应该将此调用添加到getContacts()中 这将确保从一开始就加载所有数据
我希望有帮助。如果我弄错了,或者您正在寻找其他解决方案,请告诉我。谢谢您的回答。我尝试了您的代码并获得:
在…/client/app/contact/contact.component.ts(51,39)中出错:找不到名称“getClient”。
它现在使用的是=getClient(.this.contact)
,但我在getClient中的代码是错误的getClient(client){this.clientService.getClient(this.client).subscribe(data=>this.client=data,error=>console.log(error),()=>this.isLoading=false);}
和getClient(client):可观察的{返回this.http.get(
/api/client/${client.\u id}).map(res=>res.json());}
对不起,是这个.getClient。我将编辑我的回答我认为你的getClient功能很好。您只需这样调用它,对于从getContacts函数中获得的每个联系人,this.getClient(xxx)try:let url='/api/client/'+client.\u id;返回这个.http.get(url.map)(res=>res.json())代码>不清楚,您能给我发送您得到的响应和您想要打印的内容吗?
<tr *ngFor="let contact of contacts">
<td>{{contact.anrede}}</td>
<td>{{contact.titel}}</td>
<td>{{contact.vorname}}</td>
<td>{{contact.nachname}}</td>
<td>{{contact.company}}</td>
<td>
getClient() {
this.clientService.getClient().subscribe(
data => this.client = data,
error => console.log(error),
() => this.isLoading = false
);
}
getContacts() {
this.contactService.getContacts().subscribe(
data => {
for (let contact of data) {
contact.contact_name = this.getClient(contact);
}
this.contacts = data
},
error => console.log(error),
() => this.isLoading = false
);
}