问题描述
在我的角度应用程序中,我有一个主要的局部视图。母版是项目列表。通过选择一个项目,我将显示属于该项目的详细pdf文件。要查看pdf,请使用ng2-pdf-viewer。 如果我在完全加载当前项目的所有pdf文件之前选择了另一个项目,则会出现以下错误:
Uncaught (in promise) Error: Worker was terminated
at ensureNotterminated (pdf.worker.js:sourcemap:274)
at onFailure (pdf.worker.js:sourcemap:476)
和:
pdf_viewer.js:5606 Unable to initialize viewer Error: Transport destroyed
at pdf.js:3448
at ZoneDelegate.invoke (zone-evergreen.js:364)
at Object.onInvoke (core.js:27149)
at ZoneDelegate.invoke (zone-evergreen.js:363)
at Zone.run (zone-evergreen.js:123)
at zone-evergreen.js:857
at ZoneDelegate.invokeTask (zone-evergreen.js:399)
at Object.onInvokeTask (core.js:27137)
at ZoneDelegate.invokeTask (zone-evergreen.js:398)
at Zone.runTask (zone-evergreen.js:167)
ERROR Error: Uncaught (in promise): Error: Transport destroyed
Error: Transport destroyed
at pdf.js:3448
at ZoneDelegate.invoke (zone-evergreen.js:364)
at Object.onInvoke (core.js:27149)
at ZoneDelegate.invoke (zone-evergreen.js:363)
at Zone.run (zone-evergreen.js:123)
at zone-evergreen.js:857
at ZoneDelegate.invokeTask (zone-evergreen.js:399)
at Object.onInvokeTask (core.js:27137)
at ZoneDelegate.invokeTask (zone-evergreen.js:398)
at Zone.runTask (zone-evergreen.js:167)
at resolvePromise (zone-evergreen.js:798)
at resolvePromise (zone-evergreen.js:750)
at zone-evergreen.js:860
at ZoneDelegate.invokeTask (zone-evergreen.js:399)
at Object.onInvokeTask (core.js:27137)
at ZoneDelegate.invokeTask (zone-evergreen.js:398)
at Zone.runTask (zone-evergreen.js:167)
at drainMicroTaskQueue (zone-evergreen.js:569)
at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:484)
at invokeTask (zone-evergreen.js:1621)
通过单击另一项,旧的细节组件将被破坏,而新的组件将被创建。 对于详细视图,我实现了自己的预览器组件:
<mat-card *ngFor="let document of documentListObs | async" >
<mat-card-content (click)="showDocument(document)" class="fill-container">
<pdf-viewer *ngIf="isPdfSource(document)"
[src]="!abort ? document.fileData : null"
[original-size]="false"
[show-all]="false"
[page]="1"
[autoresize]="false"
(error)="onError($event)"
>
</pdf-viewer>
</mat-card-content>
</mat-card>
documentListObs在打字稿代码中声明如下:
@input() public documentListObs: Observable<BmdDocument[]>;
我试图在组件的ngOnDestroy中将pdf-viewer的src属性重置为null ...没有成功:
ngOnDestroy() {
this.abort = true;
}
感谢帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)