要解决“保存 div 为 PDF 之前的 ngIf 似乎在时间上无法正常工作”的问题,您可以尝试以下解决方法:
// 使用 Promise
async saveAsPDF() {
await new Promise((resolve) => {
setTimeout(() => {
this.showDiv = true; // 假设这是 ngIf 的条件
resolve();
}, 1000); // 假设需要 1 秒来计算条件
});
// 这里执行保存 div 为 PDF 的逻辑
}
// 使用 Observable
import { interval } from 'rxjs';
import { take } from 'rxjs/operators';
async saveAsPDF() {
await interval(100).pipe(
take(10) // 最多等待 1 秒钟
).toPromise().then(() => {
this.showDiv = true; // 假设这是 ngIf 的条件
});
// 这里执行保存 div 为 PDF 的逻辑
}
async fetchData() {
await this.httpClient.get('api/data').toPromise(); // 假设这是从服务器获取数据的异步操作
this.showDiv = true; // 假设这是 ngIf 的条件
}
async saveAsPDF() {
await this.fetchData();
// 这里执行保存 div 为 PDF 的逻辑
}
ngAfterViewInit() {
setTimeout(() => {
this.showDiv = true; // 假设这是 ngIf 的条件
});
}
这些解决方法将确保在保存 div 为 PDF 之前,ngIf 条件已经正确计算并渲染了 div。
上一篇:保存 Colab 结果