素材巴巴 > 程序开发 >

d3.event报错:Property ‘event‘ does not exist on type ‘typeof import(“……/ds“)

程序开发 2023-09-15 07:33:56

记录一下网上找到的有效的解决方法

d3.event报错在这里插入图片描述

d3.event

当前 event (opens new window)(如果存在的话).
这个值在调用事件监听器时设置的,并且在监听器执行结束之后重置。使用这个属性可以访问标准的事件字段,比如 event.timeStamp
(opens new window)以及方法比如 event.preventDefault (opens new window).
你可以使用原生的 event.pageX (opens new window)和 event.pageY (opens new
window)以方便的将事件位置转换为使用 d3.mouse, d3.touch 或 d3.touches 接收事件的容器的本地坐标。

如果你使用 Babel, Webpack 或者其他的 ES6 转 ES5 的打包工具,要注意 d3.event 的值在事件中的变化!导入的
d3.event 必须是 live binding(动态绑定) (opens new window)的,因此你需要将打包配置设置为引入 D3
的 ES6 模块而不是生成的 UMD;并不是所有的打包工具都识别 jsnext:main (opens new window)。也要注意与
window.event (opens new window)的冲突。
文档说明https://www.d3js.org.cn/document/d3-selection/#api-reference

解决d3.event

test(){ //d3.event.preventDefault();const { event } = require("d3-selection");//动态引入eventevent.preventDefault();
 }
 

require报错
Cannot find name ‘require’. Do you need to install type definitions for node? Try npm i --save-dev @types/node and then add ‘node’ to the types field in your tsconfig.
在这里插入图片描述
解决require在tsconfig.json内的compileerOptions下添加"types": [ “node” ]


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。