2017-09-27 5 views
0
window.onload = function() { 
    svgPanZoom('#demo-tiger', { 
    zoomEnabled: true, 
    controlIconsEnabled: true 
    }); 
}; 

上記のコードは角で動作しませんか?Angular4でsvg-pan-zoomライブラリを使用するには?

+1

おそらく '#demo-tiger'要素は' window.onload'イベントには存在しません。要素がDOMにマウントされた後、 'svgPanZoom'関数を呼び出す必要があると思います。おそらく 'ngAfterViewInit'または' ngAfterViewChecked'コールバックの1つです。 – bumbu

答えて

1

私は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... 

    } 
関連する問題