私はズームを追加しようとしていますが、悲惨に失敗しています。私は、ズーム用のコンテナを持っています。d3ズーム変換に問題があります。エラー:[ts]プロパティ '翻訳'がタイプ 'イベント'に存在しませんBaseEvent '
this.container = svg.append("g");
と、この:
var zoom = d3.behavior.zoom()
.scaleExtent([1, 10])
.on("zoom", function() {
alert("here")
this.container.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")")
alert("here 2");
});
と、このコール:
.call(zoom);
一部を変換... this.container.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")")
... は私を引き起こしています問題。それは私にこのエラーを与える:[ts] Property 'translate' does not exist on type 'Event | BaseEvent'
。コンパイルされません。
私は(<any>d3.event).translate
と(<any>d3.event).scale
に、または(<any>d3).event.translate
と(<any>d3).event.scale
にd3.event.translate
とd3.event.scale
を変更すると、エラーが表示されなくなりますが、ズームは動作しません。
これらの<any>
の変更が組み込まれているため、マウスまたはスクロール(初めて)をダブルクリックすると、最初の警告が表示されます。私は第二の警告にそれをすることはありません。
問題はこの行にあると確信しています:this.container.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")")
。どうすれば修正できますか?
私はPowerScriptのカスタムビジュアルを構築するためにTypeScriptとd3 v3.5.5を使用しています。
ありがとうございます!