d3.js - Svelte 和 D3 笔刷
问题描述
我很难理解如何将 Svelte 与 D3 的画笔项目之类的东西一起使用。Svelte 使用声明性方法进行操作。在面积图示例中线条的 SVG 写在模板 HTML 中。要使用 D3 执行此操作,您将使用 Javascript 函数调用来选择一个元素并调用另一个函数来修改 DOM。在上述图表示例中,D3 缩放库仅用于生成轴数组,但 HTML 本身由 Svelte 管理。Svelte 以这种方式工作是有道理的——用函数调用构建东西会不那么干净,但我不知道如何用画笔做到这一点。如何在我的 Svelte 模板中以声明方式构建画笔 HTML,这将如何影响画笔事件之类的事情?最好只使用 onMount 内部的画笔功能,以及将更改事件与本地 Svelte 变量联系起来吗?
解决方案
React 中也存在同样的问题,因为 React 和 D3 都想负责 DOM。在 React 中,您只需在 ComponentDidMount 方法(如果使用 hooks.
Svelte 期望负责这种情况,您声明 UI 是如何构建的,并定义操作,让其完成工作。它无法跟踪 D3 所做的事情,所以我怀疑您只需要让 D3 负责该部分,而不必担心它会有点 hacky。
推荐阅读
- c - Writing data (structure) to file
- itk - ANTS 工具中的 DenoiseImage,引发与 ITKv5 相关的错误
- django - 如果我使用 {% extends %},Django 会忽略子模板中的内容
- documentum - 如何在 Documentum 中获取虚拟文档的子级
- javascript - 扩展函数的导出类
- python - Pandas 按两列分组并从第三列输出值
- sails.js - 如何从sails action2调用Passport Authenticate函数
- linux - 如何在文件中回显文本并删除以前的内容?
- javascript - WaveSurfer JS 无法在 Firefox 中为特定的 mp3 音频文件生成图形
- reactjs - 无法在 iphone 上加载图像,因为 android 设备代码正常工作