过去 12 个月我一直在使用 Html2canvas 生成 PDF。我最近升级到 Angular 18。我将所有组件更改为独立组件。但是,当生成 pdf 时(生成的 pdf 工作正常) 我注意到,当我尝试加载另一个延迟加载路由时,它无法加载,因为 url 已更改。
正确的网址 http://localhost:4200/default-node_modules_angular_mate ...等等
仅从子延迟加载组件执行 Html2canvas。请注意,“报告”已添加 http://localhost:4200/reports/default-src_app_share ...等
由于修改了 url,所有加载任何新组件的尝试都将失败。然而 如果组件之前已经加载过,那么没问题
我执行了一个只有 Html2canvas 的组件,并且能够重复该问题。
public PublishRpt2(nativeElement: any, genericProofImage: GenericProofImage)
{
html2canvas(nativeElement, { scale: 3 }).then((canvas) => {
const imageGeneratedFromTemplate = canvas.toDataURL('image/png',1.0);
});
}
出于绝望,我升级了 NPM(到版本 20...),重新安装了 Angular 18,一切正常。