Hur använder man Panzoom JavaScript i Angular 8+
Jag kan inte använda Panzoom Javascript-biblioteket i Angular. Jag får
ERROR
Error: panzoom is not defined
Här är stackblitzen av vad jag har gjort hittills. Här är demot som fungerar av hur det ska fungera
Kan någon hjälpa mig att felsöka? Tack
Jag har följt alla steg som nämns i detta inlägg
Svar #1
Det verkar som att Panzoom faktiskt har TypeScript-definitioner Github Issue
här är en fungerande 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 finns ett enkelt sätt att göra detta.
- Öppna ditt Angular-projekt i cmd-terminalen (rotmappen för ditt projekt, samma mapp som innehåller /src).
- Skriv
npm install panzoom --save(det kommer att lägga tillpanzoomnpm-paketet till dinangular.jsonoch installera det). - I din komponent lägg till import
import * as panzoom from "panzoom"(ditt projekt borde automatiskt länka det med rätt fil från node_modules. - i ngOnInit eller var som helst det behövs lägg till den här raden
panzoom.default(document.querySelector('#lipsum'));
Du bör generellt injicera detta PanZoom-paket i din komponentkonstruktor efter att ha importerat det från node_modules, men jag är inte säker på om författaren tillhandahåller någon integration.
Kolla definitivt NPM-dokumentationen för detta plugin för mer information
