当前位置: 首页 > 知识库问答 >
问题:

重构v5中的D3JS代码。16至v6。6.2,d3。事件破坏性变化

汪学真
2023-03-14

新的d3和修复错误。我正在使用d3库处理一个js文件。以下代码行在v5.16中不会出错:

    let brush = d3.brushX()
        .extent([[0, 0], [width, height]])
        .on('brush', br)

    selectorG.append('g')
        .attr('class', 'brush')
        .call(brush)
        .call(brush.move, [132, 158]) // random #'s for this post

    function br(d) {
        let s = d3.event.selection || xScaleSelector.range()
        let extent = s.map(xScaleSelector.invert, xScaleSelector);
        let window = data.filter(d => d.date >= extent[0] && d.date <= extent[1])
        update(window)
    }

但是,当迁移到v6时。6.2及以上,我得到一个错误。我得到的错误是在线的:let s=d3。事件选择| | XScale选择器。range()出现以下错误:未捕获类型错误:无法读取未定义的属性(读取“选择”)

错误的起源,根据https://github.com/d3/d3/releases/tag/v6.0.0,v6.0.0已经删除了d3.event。(d3.event在v6中未定义)。有人能帮助建议我在迁移到

共有1个答案

唐兴思
2023-03-14

请尝试:

function br(d) {
    let s = d.selection || xScaleSelector.range()
    let extent = s.map(xScaleSelector.invert, xScaleSelector);
    let window = data.filter(d => d.date >= extent[0] && d.date <= extent[1])
    update(window)
}

根据迁移指南

 类似资料:
  • RxJS v5 -> v6 升级 准备将 RxJS 从 v5 升级到 v6 ?下面是一些有用的资源: RxJS-TsLint TsLint 的规则已经升级至 RxJS 6 。它可以自动更新项目中的导入路径,同时还回转换成 pipeable 操作符。 RxJS v5.x -> v6 升级指南 将项目中的 RxJS v5 升级至 v6 的全面指南 RxJS v5 和 v6 代码的交互式比对 演示 v5

  • 我是一个全新的编程和开发我的网站的这个阶段,我需要设置一个简单的长轮询请求,从数据库获得最新的消息,然后显示给客户机。我昨天创建了一个消息系统,现在它保存了消息和用户之间所有需要的关系······ 以下是我所做的: 对不起,我的英语不好!非常感谢你在那里为我们服务!

  • 这个问题与现有的问题“使用C11的‘自动’能提高性能吗?” 这个问题的一个答案表明,使用不仅会有积极的影响,也会有消极的影响。 我认为我们需要一个单独的问题,答案集中在自动的那一面。

  • 非破坏性编辑技术 非破坏性编辑允许您对图像进行更改,而不会覆盖原始图像数据,原始图像数据将保持可用状态以备您需要恢复到原始图像数据。由于非破坏性编辑不会移去图像中的数据,因此,当您进行编辑时,不会降低图像品质。可以通过以下几种方式在 Photoshop 中执行非破坏性编辑: 处理调整图层 调整图层可将颜色和色调调整应用于图像,而不会永久性更改像素值。 使用智能对象进行变换 智能对象支持非破坏性缩放

  • 问题内容: 来自Python,我不习惯看到超过80列的代码行。所以当我遇到这个: 我试图打破它 但是我明白了 我还尝试过按回车键并在末尾加分号来打破界限: 但是我再次得到: 所以我想知道用什么语言来做到这一点? 问题答案: 首先介绍一些背景。Go的正式语法在许多产品中都使用分号作为终止符,但是Go程序可能会省略大多数(它们应该有一个更清晰易读的源;也可以删除不必要的分号)。 该规范列出了确切的规则

  • 通常情况下,Java源代码是向前兼容的。在Java8之前,据我所知,编译的类和源代码都与后来的JDK/JVM版本实现了前向兼容。[更新:这不正确,请参阅下面的注释re'enum'等。]但是,在Java8中添加了缺省方法之后,情况似乎不再是这样了。 例如,我一直使用的库有一个的实现,它包括一个。此方法返回已排序列表内容的副本。这个库作为jar文件依赖项部署,在使用JDK1.8构建的项目中运行良好。