0
window.onload = function() {
svgPanZoom('#demo-tiger', {
zoomEnabled: true,
controlIconsEnabled: true
});
};
上記のコードは角で動作しませんか?Angular4でsvg-pan-zoomライブラリを使用するには?
window.onload = function() {
svgPanZoom('#demo-tiger', {
zoomEnabled: true,
controlIconsEnabled: true
});
};
上記のコードは角で動作しませんか?Angular4でsvg-pan-zoomライブラリを使用するには?
私はsvg-pan-zoom 3.5.xバージョンを使用しています。次のコードスニペットは、ライブラリのインポートに役立ちます。
// Psuedo angular TS code
import * as SvgPanZoom from 'svg-pan-zoom';
@Component({
selector: 'app-svg-container',
templateUrl: './svg-container.component.html',
styleUrls: ['./svg-container.component.scss']
})
export class SvgContainerComponent implements OnInit, AfterViewInit {
constructor() { }
ngOnInit() { }
ngAfterViewInit() {
// initializing the function
let svgPanZoom: SvgPanZoom.Instance = SvgPanZoom('#wolrd-map-svg', this.options);
/* see typing definiton for more APIs. */
}
... More Codes...
}
おそらく '#demo-tiger'要素は' window.onload'イベントには存在しません。要素がDOMにマウントされた後、 'svgPanZoom'関数を呼び出す必要があると思います。おそらく 'ngAfterViewInit'または' ngAfterViewChecked'コールバックの1つです。 – bumbu