我正在尝试将html2Canvas库用于Angular 8项目。
我还尝试在我的项目中通过npm install--sav@type/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中出错。组成部分ts(19,5):错误TS2349:无法调用其类型缺少调用签名的表达式。键入“typeof import(“myroute”)”您不支持调用签名。
在Angular 8上也有同样的问题,我能够在没有错误的情况下导入库的唯一方法是使用要求。
看这篇文章。
对于Angular 8,请参阅此链接:https://github.com/niklasvh/html2canvas/issues/1896#issuecomment-506129710
基本上,您需要1.0.0-rc版本。安装1个html2canvas使其工作。
解决了!谢谢:)
最后,我以这种方式导入:
import html2canvas from 'html2canvas';
问题内容: 我是打字稿的新手,并且有两节课。在父类中,我有: 在儿童班,我有: showMore和ShowLess都给我一个错误,“无法调用类型缺少调用签名的表达式”。 但是,我认为setProp返回的函数确实具有呼叫签名吗?我认为我误解了有关函数类型的一些重要信息,但我不知道它是什么。 谢谢! 问题答案: 它返回的函数具有一个调用签名,但是您告诉Typescript通过添加其签名来完全忽略它。
我得到“无法调用其类型缺少调用签名的表达式。类型'typeof import("weealert2")'没有兼容的调用签名。”在角度使用SWAL时出现此错误。 在一个组件中,我的代码如下所示 在组件中,我得到了上面提到的错误。搜索了很多,但无法找出问题。请帮助我。
我将Angular 2与TypeScript 2一起使用。 当我使用 它给我错误: 错误TS2349:无法调用其类型缺少调用签名的表达式。
在从2. x升级到4. x并将types cript升级到2. x后,开始出现以下错误,该错误与以前的版本配合良好 无法调用其类型缺少调用签名的表达式。类型'((未完成?:(值:MediaStream)= 我的代码如下
1. HttpTransfer无法解析为类型 2.来自AndroidHttp类型的方法newCompartbleTransport()是指缺少的HttpTransment类型 我在libs文件夹中添加了以下jar文件: google-api-client-android-1.18.0-rc.jar google-api-services-drive-v2-rev1-1.7.2-beta.jar g
我有一个测试,它正在测试一个Spring@Service类。这个服务类autoworitory在一个dao@存储库中。dao还在一个类中autowires以提供额外的功能。我想模仿dao中的调用,所以我有如下内容: 服务中对getAnalysis的调用调用dao方法nameExists,我想从Expects块中的mockedNameExists返回结果,但我不知道我做错了什么。