新版本中的 D3 事件

D3 events in new versions

我写了以下片段:

ngAfterViewInit() {
    var svg = d3
      .select("svg")
      .call(d3.zoom().on("zoom", () => {
        svg.attr("transform", d3.event.transform)
      }))
      .append("g")
}

我知道 d3.event 已在新版本中删除,但阅读有关如何处理回调中的事件的文档并没有让我理解如何修改它...

有人可以用像我这样的新手可以理解的简单方式向我解释这一点以及如何解决它吗?谢谢

this migration guide 开始,d3.event.transform 必须替换为以下

ngAfterViewInit() {
  let svg = d3                                // <-- I'd suggest using `let` instead of `var`
    .select("svg")
    .call(d3.zoom().on("zoom", (event) => {   // <-- `event` argument
      svg.attr("transform", event.transform); // <-- use `event` here
    }))
    .append("g");
}