我有一个service.ts文件,在我的Angular组件之间传递了Observables,并且我将一个组件上的click事件的结果传递给了下面的组件。

我的问题是我可以将要存储在console.log变量中的对象selectedContact(请参见下文),但是当我尝试将subscribe()响应分配给我的selectedContact变量,然后将其绑定到我的对象时HTML,它只是显示为[object object]。

这是我的代码:

import { Component, OnInit } from '@angular/core';
import { AppComponent } from '../app.component';
import { ApiService } from '../api.service';

@Component({
  selector: 'app-contact-details',
  templateUrl: './contact-details.component.html',
  styleUrls: ['./contact-details.component.scss']
})
export class ContactDetailsComponent implements OnInit {

  selectedContact: any[] = [];

  error: string;

  constructor(private _apiService: ApiService) { }

  ngOnInit() { this.showContact() }

  showContact() {
  this._apiService.newContactSubject.subscribe(
    data => this.selectedContact = data)
  }
}


当我运行这个:

  showContact() {
  this._apiService.newContactSubject.subscribe(
    data => console.log(data))
  }


我将正确的对象日志记录到控制台(其他组件的click事件)。

但是当我运行这个:

  showContact() {
  this._apiService.newContactSubject.subscribe(
    data => this.selectedContact = data)
  }


我得到[Object Object]

我想念什么?谢谢!!!

最佳答案

我认为在html中,您将this.selectedContact绑定到某些html组件。但是,由于this.selectedContact是一个对象,因此必须像这样绑定到它的属性:{{selectedContact.proppertyName }}

10-06 02:58