2017-05-25 135 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);