我正在尝试根据从服务发送的值更新 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 时不执行任何操作