Hvordan bruke Panzoom javascript i Angular 8+?
Jeg klarer ikke å bruke Panzoom Javascript-biblioteket i Angular. Jeg får
ERROR
Error: panzoom is not defined
Her er stackblitzen av det jeg har gjort til nå. Her er den fungerende demoen av hvordan det skal fungere
Kan noen hjelpe meg med feilsøking? Takk
Jeg har fulgt alle trinnene som er nevnt i dette innlegget
Svar #1
Det ser ut til at Panzoom faktisk har TypeScript-definisjoner Github Issue
her er en fungerende stackblitz
import { Component, AfterViewInit, ElementRef, ViewChild } from '@angular/core';
import panzoom from "panzoom";
@Component({
selector: 'hello',
template: `<img id="scene" #scene src="https://www.probytes.net/wp-content/uploads/2018/01/5-1.png">`,
styles: []
})
export class HelloComponent implements AfterViewInit {
@ViewChild('scene', { static: false }) scene: ElementRef;
ngAfterViewInit() {
// panzoom(document.querySelector('#scene'));
panzoom(this.scene.nativeElement);
}
}
Svar #2
Det finnes en enkel måte å gjøre dette på.
- Åpne Angular-prosjektet ditt i CMD-terminalen (rotmappen til prosjektet ditt, den samme mappen som inneholder /src).
- Skriv
npm install panzoom --save(det vil legge tilpanzoomnpm-pakken i dinangular.jsonog installere den). - I komponenten din legg til import
import * as panzoom from "panzoom"(prosjektet ditt bør automatisk koble det med riktig fil fra node_modules. - i ngOnInit eller hvor som helst det trengs, legg til denne linjen
panzoom.default(document.querySelector('#lipsum'));
Du bør generelt injisere dette PanZoom-pakken i komponentkonstruktøren din etter å ha importert det fra node_modules, men jeg er ikke sikker på om det finnes en integrasjon levert av en forfatter.
Sjekk definitivt NPM-dokumentasjonen for denne pluginen for mer informasjon
