2017-05-25 1 views
3

Je travaille actuellement sur un projet Angular2 et j'essaie d'utiliser une bibliothèque JS (https://github.com/szimek/signature_pad) pour la saisie de la signature.Tapuscrit | TypeError: __WEBPACK_IMPORTED_MODULE_1_signature_pad__ n'est pas un constructeur

J'ai essayé d'utiliser la bibliothèque comme il est, avec mon code comme suit:

// .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> 

et je reçois l'erreur suivante lorsque je lance la page du navigateur: ERROR Error: Uncaught (in promise): TypeError: WEBPACK_IMPORTED_MODULE_1_signature_pad is not a constructor

J'ai aussi essayé d'utiliser pad de signature de angular2-de dimpu, mais la même erreur vient essentiellement vers le haut.

Répondre

2

Pourvu que vous avez les typages pour signature_pad (npm install --save-dev @types/signature_pad), il doit être importé et utilisé comme ci-dessous comme signature_pad n'a pas de membres et exportés déclare que la classe SignaturePad dans le périmètre actuel:

import 'signature_pad'; 

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