1

我正在尝试根据从服务发送的值更新 component.html。

在 service.ts 中:

public loggedIn = new BehaviorSubject<boolean>(false);
generateDoc(): void {
    this.loggedIn.next(true);
    //function body here - it takes few seconds
    this.loggedIn.next(false);

组件.ts:

import { ChangeDetectorRef } from '@angular/core'; 
async ngOnInit() {
    this.reportService.loggedIn.subscribe(response => {
    this.isDownload = response; 
    this.cd.markForCheck();
    console.log(`is download value changed! ${this.isDownload}`)}); }

组件.html:

<div *ngIf="isDownload">
wait...</div>

变量值在 ts 中更新 - 我可以在控制台中看到它,但无论我尝试什么,HTML 都没有更新。this.cd.detectChanges当值为 true 时仅更改 HTML,而当值为 false 时不执行任何操作

4

0 回答 0