我在角度版本5中遇到此问题。 我有一个评论页面(父页面)和5个组件页面(子页面)。 当我进入审阅页面时,它将自动拍摄快照(将HTML导出为pdf)。 但是5个组件将调用5个其他服务来获取最新数据并呈现为HTML。 因此,当我将HTML导出为pdf时,它将得到较旧的数据,而不是最新的数据,因为某些服务尚未完成。
在调用5个服务后如何将HTML导出为pdf?
答案 0 :(得分:0)
让父组件处理Service调用并将结果推送到子组件中。
父TS:
ngOnInit() {
forkJoin(
serviceCall1$, serviceCall2$, //...
).subscribe(([result1, result2, result3, result4, result5]) => {
this.result1 = result1;
// ...
setTimeout(() => {
// take snapshot
}, 100) // give angular some time to render, depends when snapshot is actually taken
})
}
父模板:
<child-comp [data]="result1"></child-comp>
<child-comp [data]="result1"></child-comp>
<!-- ... -->
在子组件中
@Input() data;