Signature_pad: __WEBPACK_IMPORTED_MODULE_1_signature_pad__ Π½Π΅ являСтся конструктором

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 11 Π°ΠΏΡ€. 2018  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: szimek/signature_pad

Π― ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΌΠΎΠ΄ΡƒΠ»ΡŒ angular2-signature-pad с ΠΌΠΎΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ angular cli 4.0. Π― слСдовал инструкциям https://github.com/dimpu/angular2-signature-pad с ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠΌ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Π½Π΅ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ прилоТСния). ΠŸΡ€ΠΈ этом холст для подписи отобраТаСтся идСально. К соТалСнию, со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ошибкой, ΠΈ ΠΎΠ½Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ERROR TypeError: __WEBPACK_IMPORTED_MODULE_1_signature_pad__ is not a constructor
at SignaturePadComponent.ngAfterViewInit (signature-pad.component.js:60)
at callProviderLifecycles (core.js:12702)
at callElementProvidersLifecycles (core.js:12669)
at callLifecycleHooksChildrenFirst (core.js:12652)
at checkAndUpdateView (core.js:13807)
at callViewAction (core.js:14149)
at execEmbeddedViewsAction (core.js:14107)
at checkAndUpdateView (core.js:13799)
at callViewAction (core.js:14149)
at execComponentViewsAction (core.js:14081)

Π§Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ SignaturePad?

Ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ с этой Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкой Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ подписи.

SignaturePadComponent.prototype.ngAfterViewInit = function () {
        this._canvas = this._el.nativeElement.querySelector("canvas");
        this._signaturePad = new SignaturePad(this._canvas);
    }; 

"ΡƒΠ³Π»ΠΎΠ²ΠΎΠΉ/ΠΊΠ»ΠΈ": "1.6.8"
"angular2-signature-pad": "^1.0.2"
"signature_pad": "^2.3.2"
Π’ Google Chrome с ΡƒΠ³Π»ΠΎΠ²Ρ‹ΠΌ интСрфСйсом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽ Angular Π²Π΅Ρ€ΡΠΈΡŽ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π΅ΡΡ‚ΡŒ SignaturePad - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со свойством default , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся фактичСским конструктором, поэтому, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π½Π° this._signaturePad = new SignaturePad.default(this._canvas); ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это. , Π½ΠΎ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ TypeScript Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅? Π― ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (Π½Π΅ Angular) с TS 2.7+, ΠΈ ΠΎΠ½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Π±Π΅Ρ‚Π°-вСрсия signal_pad, написанная Π½Π° TS ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с TS 2.7+.

ВсС 8 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽ Angular Π²Π΅Ρ€ΡΠΈΡŽ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π΅ΡΡ‚ΡŒ SignaturePad - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со свойством default , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся фактичСским конструктором, поэтому, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π½Π° this._signaturePad = new SignaturePad.default(this._canvas); ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это. , Π½ΠΎ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ TypeScript Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅? Π― ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (Π½Π΅ Angular) с TS 2.7+, ΠΈ ΠΎΠ½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Π±Π΅Ρ‚Π°-вСрсия signal_pad, написанная Π½Π° TS ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с TS 2.7+.

Π”Π°, это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с this._signaturePad = new SignaturePad.default(this._canvas);
Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо, szimek

@erangaapp @szimek ΠΊΠ°ΠΊ Π΄Π΅Π»Π°, рСбята, new SignaturePad ? Π’Ρ‹ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅? Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ https://github.com/dimpu/angular2-signature-pad

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· signal_pad

npm install --save signature_pad
import * as SignaturePad from 'signature_pad';

@erangaapp Бпасибо, понял. Π”Ρ€ΡƒΠ³ΠΎΠΉ вопрос, Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ строку Π½Π° this._signaturePad = new SignaturePad.default(this._canvas); Π² node_modules вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°? Π’Π½ΡƒΡ‚Ρ€ΠΈ самого ΠΊΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ? Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΊΠΎΠ΄Π΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?

Π― обошСл это Ρ‡Π΅Ρ€Π΅Π· Π½ΠΈΠΆΠ΅

window.SignaturePad = require('signature_pad').default

this._signaturePad = new SignaturePad.default(this._canvas);

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ СдинствСнноС, Ρ‡Ρ‚ΠΎ сработало для мСня

Если это ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я сдСлал, Ρ‡Ρ‚ΠΎΠ±Ρ‹ панСль для подписи Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° с Angular 8:

$ npm install --save signal_pad

классный-component.html:

<div class="wrapper">
  <canvas id="signature-pad" class="signature-pad" width=400 height=200 style="border: 2px solid blue"></canvas>
</div>

ΠΏΡ€ΠΎΡ…Π»Π°Π΄Π½ΠΎ-component.ts:

import { Component, OnInit, ElementRef  } from '@angular/core';
import * as SignaturePad from 'signature_pad'
...
export class CoolComponent implements OnInit {
    _canvas
    _signaturePad
    constructor(private el: ElementRef) { }

    ngOnInit() {

    }

       ngAfterViewInit(){
         this._canvas = this.el.nativeElement.querySelector("canvas");
         this._signaturePad = new SignaturePad.default(this._canvas);
      }

}

Бпасибо Π·Π° сбор этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, @szimek!

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

Emmark picture Emmark  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

khawye picture khawye  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

50l3r picture 50l3r  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

derUli picture derUli  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

davidosuna1987 picture davidosuna1987  Β·  11ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ