2017-05-25 137 views
3

我目前正在使用Angular2项目,并试图使用JS库(https://github.com/szimek/signature_pad)进行签名输入。Typescript | TypeError:__WEBPACK_IMPORTED_MODULE_1_signature_pad__不是构造函数

// .ts file 
import * as SignaturePad from 'signature_pad'; 

export class ... { 
    private signaturePad: SignaturePad; 

    ngOnInit() { 
     let canvas = document.querySelector("canvas"); 
     this.signaturePad = new SignaturePad(canvas); 
    } 
} 

如下我一直在使用图书馆作为被试,我的代码。

// .html file 
<div...> 
    <canvas></canvas> 
</div> 

,我得到以下错误,当我启动浏览器页面: ERROR Error: Uncaught (in promise): TypeError: WEBPACK_IMPORTED_MODULE_1_signature_pad is not a constructor

我使用dimpu的angular2签名垫也尝试过,但同样的错误本质上来。

回答

2

只要你有signature_padnpm install --save-dev @types/signature_pad)的分型,它必须进口,像下面作为signature_pad没有任何出口成员,只有声明类SignaturePad到当前范围:

import 'signature_pad'; 

// ... 
let canvas = document.querySelector("canvas"); 
this.signaturePad = new SignaturePad(canvas);