2016-07-13 16 views
1

angular2でd3を使用してドラッグ機能を試行しましたが、サンプルが見つかりましたが、JSでng2で使用しようとしましたが、.sourceEventに問題があります。 d3.eventプロパティ。angular2 d3.event.sourceEventは存在しません

JSタイプ:https://bl.ocks.org/mbostock/6123708

public canvas = d3.select('my-app') 
 
     .append('canvas') 
 
     .attr('width', this.width) 
 
     .attr('height', this.height) 
 
     .attr('class', 'canvas'); 
 

 
    public drag = d3.behavior.drag() 
 
     .on("drag", this.dragstart); 
 
    
 
    dragstart (d) { 
 
     d3.event.sourceEvent.stopPropagation(); 
 
     d3.select(this).classed("dragging", true); 
 
    }

答えて

0

ではなくd3.event.stopPropagation()を使用してみてください。

thisキーワードがAngularコンポーネントに関連するため、d3.select(this)はAngular2で機能しません。 d3.select(d3.event.target)を使用してください。

関連する問題