Я использую библиотеку Svn-Pan-Zoom для масштабирования моего SVG-изображения.Но я получаю ошибку, как.
Не удается прочитать свойство 'documentElement' со значением null .
, что я пробовал до сих пор.
svg-view.component.html
<div>
<object #demosvg id="demosvg" type="image/svg+xml" data="assets/images/history.svg" style="width: 500px; height: 500px; border:1px solid white;"></object>
</div>
svg-view.component.ts
import {AfterViewInit, Component, ElementRef, ViewChild, Renderer2} from '@angular/core';
import * as SvgPanZoom from 'svg-pan-zoom';
@Component({
selector: 'nxui-svg-view',
templateUrl: './svg-view.component.html',
styleUrls: ['./svg-view.component.scss']
})
export class SvgViewComponent implements AfterViewInit {
@ViewChild('demosvg', {read: ElementRef}) demo: ElementRef;
private svgPanZoom: SvgPanZoom.Instance = null;
constructor(private rd: Renderer2) {}
ngAfterViewInit(){
this.demo.nativeElement.nodeSelect = this.click;
(<any> window).nodeSelect = this.click.bind(this);
setTimeout(() =>
this.svgPanZoom = SvgPanZoom(this.demo.nativeElement, {
panEnabled: true,
controlIconsEnabled: true,
dblClickZoomEnabled: false,
customEventsHandler: {
init: (options) => {
// options.svgElement.onselect = this.click;
},
haltEventListeners: null,
destroy: null
}
}), 50);
}
click(e): void {
console.log('Click, Click ...');
}
}
Я попытался увеличить время ожидания.Но это не работает.
Может кто-нибудь затенить эту проблему?Спасибо