web-dev-qa-db-ja.com

html2canvas in Angular-コールシグネチャのないタイプの式を呼び出すことはできません

Html2canvasライブラリをAngular 8プロジェクトに使用しようとしています。

また、npm install --save @types/html2canvasを使用してプロジェクトにhtml2canvasタイプをインストールしようとしましたが、それでも機能しません。

テンプレート:

<div #myform>
  <form>
    ...
  </form>
</div>

成分:

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);
    });
  }

}

私の意図はフォームをキャンバスとしてレンダリングすることですが、アプリケーションがエラーをスローします:

src/app/grid/pdf-viewer/pdf-viewer.component.ts(19,5)のエラー:エラーTS2349:コールシグネチャのないタイプの式を呼び出すことはできません。タイプ 'typeof import( " myroute ") 'コールシグネチャはサポートされていません。

8
Jgascona

解決しました!ありがとうございました :)

最後にそのようにインポートしました:

import html2canvas from 'html2canvas';
16
Jgascona

Angular 8の場合、このリンクを参照してください: https://github.com/niklasvh/html2canvas/issues/1896#issuecomment-50612971

基本的に、動作させるには、html2canvasのバージョン1.0.0-rc.1がインストールされている必要があります。

5
eCamK

Angular 8)で同じ問題があり、エラーなしでライブラリをインポートできる唯一の方法はrequireを使用することでした。

この投稿を参照

1
velval