在调用多个服务之后,Angular 5将HTML导出为pdf

时间:2018-10-25 08:03:56

标签: angular

我在角度版本5中遇到此问题。 我有一个评论页面(父页面)和5个组件页面(子页面)。 当我进入审阅页面时,它将自动拍摄快照(将HTML导出为pdf)。 但是5个组件将调用5个其他服务来获取最新数据并呈现为HTML。 因此,当我将HTML导出为pdf时,它将得到较旧的数据,而不是最新的数据,因为某些服务尚未完成。

在调用5个服务后如何将HTML导出为pdf?

1 个答案:

答案 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;