You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中D3层级边缘捆绑路径绘制及类型匹配问题

Angular中D3层级边捆绑图路径绘制问题

我在Angular应用中实现D3的层级边捆绑图,参考相关示例完成了节点圆形的渲染,但绘制路径/连线时遇到问题,核心卡在d3.lineRadial()的配置环节。

原示例中的相关代码如下:

line = d3.lineRadial()
    .curve(d3.curveBundle.beta(0.85))
    .radius(d => d.y)
    .angle(d => d.x)

现在遇到的类型冲突问题:

  • IDE提示radius和angle函数的参数d是二元数字向量(类型为[number, number])
  • 但运行时打印d,实际却是包含x、y属性的节点对象
  • 尝试直接访问d.x或d.y时,会触发TypeScript错误:TS2339: Property 'x' does not exist on type '[number, number]'

我当前的代码写法如下:

let line = d3.lineRadial()
      .curve(d3.curveBundle.beta(0.85))
      .radius((d,i) => {
        console.log("d");
        console.log(i);
        console.log(d);
        return d[0];
      })
      .angle(d => d[1]);

运行时日志显示d是带x、y属性的对象,但IDE的类型提示和实际运行数据完全不符,对此感到困惑。

内容的提问来源于stack exchange,提问作者madmax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:31:19