当 Observable 被订阅时,变化没有反映在 html 中

Changes not reflecting in html when the Observable is subscribed

我正在尝试使用共享服务将对象传递给对象模型到已加载的组件,即使我在订阅后获得数据,它也没有反映在 html 视图中。

<div *ngFor="let emp of emps" class="card">
      <div class="card-body">
            <img class="img-icon" [src]="emp?.logo" />
                </div>
      <div class="icon-text">
      <p class="maintext" >{{emp?.name}}</p>
      <p class="subtext">Emp Code: {{emp?.code}}</p>
       </div>
                   
       <div class="icon-text">
             <a class="view-btn" >View Details</a>
       </div>
  </div>
emps : EmployeeModel[];


ngOnInit(): void {

    this.service.getData().subscribe(data => {
      this.emps = data
      console.log(this.emps))
    })
   }

export class EmployeeService {
  employeeData:any;
  private subject = new Subject<any>();
  constructor() { }
  
  setEmployeeData(data) {
    this.employeeData = data
    this.subject.next(data);
  }

 getData(): Observable<any> {
    return this.subject.asObservable();
 }
} 

  

getData() 返回的 observable 没有发射任何东西。直到您使用数据调用 setEmployeeData()

使用 BehaviorSubject 而不是 Subject

private subject = new BehaviorSubject<any>(null);