Javascript 角度4均值堆栈:如何根据另一个{{value}获取值

Javascript 角度4均值堆栈:如何根据另一个{{value}获取值,javascript,angular,Javascript,Angular,我对angular 4不熟悉,不知道如何得到我的解决方案。 我从mongodb获取数据,它工作正常 字段中的contact.company是公司的_id。公司名称保存在company.name中 应该有client.name(这是公司的名称)来代替{{contact.company}}(存储id的地方),以显示真实的名称,而不是id。如何获取它 我想我需要自动调用一个方法,从数据库中获取值 完整的代码在这里 完整代码如下: 我不确定我是否理解你的问题,告诉我我错了。 您希望显示联系人数据,但对于

我对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
        );
      }