私はズームしてパンしたいと思っています。 私はこの例に従っ:http://bl.ocks.org/sgruhier/1d692762f8328a2c9957次のように私はtypescriptですでこれを実装していますv3の.attrが定義されていませんd3js
をd3.jsを使用して:
this._svg = d3.select('body')
.append('svg')
.attr('style', 'max-width: 100%')
.attr('viewBox', this._viewbox_x + ' ' + this._viewbox_y + ' ' + this.responsemodel.width + ' ' + this.responsemodel.height)
.call(d3.behavior.zoom().on('zoom', this.zoom))
.append('g')
と私のズーム機能
zoom() {
this._svg.attr('transform', 'translate(' + (<d3.ZoomEvent>d3.event).translate + ')scale(' + (<d3.ZoomEvent>d3.event).scale + ')');
}
これをrunnig場合は、 - 私を"未定義のプロパティ 'attr'を読み取ることができません。これは、_svgが未定義であることに由来します。
これは、それを解決するためにどのように、なぜ誰かが私に説明できますか?事前に
おかげで
フィドルに完全なコードを置くことのチャンス:
あなたは、などのイベント関数にチャートを表すあなたの
this
をバインドしようとしましたか? https://jsfiddle.net/ –はい。 https://jsfiddle.net/a1L0jLj3/ 問題はここには表示されません – methgaard
すべてのTypeScriptをフィドルに入れる必要があります。コード入力ファイルの言語を変更するには、現在「JavaScript」と表示されている設定を選択し、これをTypeScriptに変更します –