我正在尝试将APP_INITIALIZERAngular集成到我的项目中,以便在启动应用程序之前执行一些功能。当我在我的服务中使用来自 Angular的ActivatedRoute时,问题就出现了。
错误是:
Error: Provider parse errors:
Cannot instantiate cyclic dependency! ApplicationRef ("[ERROR ->]"): in NgModule AppModule in ./AppModule@-1:-1
Run Code Online (Sandbox Code Playgroud)
我想我在内部使用了两次导入或类似的东西。基本上我尝试了一些其他配置,但最后总是抛出同样的错误。
STACKBLITZ 示例: https ://stackblitz.com/edit/angular-bhpe7m
预期行为:只是为了能够通过 ActivatedRoute 服务检索一些 QueryParams 并在运行 Angular 应用程序之前使用它们执行一些功能
我正在尝试将html2canvas库用于Angular 8项目。
我也尝试通过在项目中安装html2canvas类型,npm install --save @types/html2canvas但仍然无法正常工作。
模板:
<div #myform>
<form>
...
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
零件:
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import * as html2canvas from 'html2canvas';
@Component({
selector: 'app-pdf-viewer',
templateUrl: './pdf-viewer.component.html',
styleUrls: ['./pdf-viewer.component.scss']
})
export class PdfViewerComponent {
@ViewChild('myform', { static: false, read: ElementRef }) pdfForm: ElementRef;
constructor() {}
pdfDownload() {
html2canvas(this.pdfForm.nativeElement).then(canvas => {
const imgData = canvas.toDataURL('image/png');
document.body.appendChild(canvas);
});
}
}
Run Code Online (Sandbox Code Playgroud)
我的意图是将表单呈现为画布,但是应用程序引发错误:
src / app / grid / pdf-viewer / pdf-viewer.component.ts中的错误(19,5):错误TS2349:无法调用类型缺少调用签名的表达式。输入'typeof import(“ myroute”)',表示您不支持呼叫签名。
我正在构建一个数组
const myCanvas = documen.getElementsByTagName('canvas')
它实际上是有效的。它返回给我这样的东西:
images: [
0: canvas,
1: canvas,
2: canvas
]
Run Code Online (Sandbox Code Playgroud)
这是一个 Typescript 项目,我想迭代这个数组并转换每个图像以记录它。
像这样:
for (const image of myCanvas) {
console.log(canvas.toDataURL());
}
Run Code Online (Sandbox Code Playgroud)
(我没有使用 foreach 因为它不适用于 HTMLCollectionOf 类型)
我需要迭代 getElementsByTagName 返回给我的 HTMLCollection。输出是Type 'HTMLCollectionOf' 必须有一个返回迭代器的 'Symbol.iterator' 方法
