将函数传递给打字稿中的d3生成器

时间:2017-02-21 03:02:38

标签: d3.js typescript

我将一些代码从d3v3 javascript转换为d3v4打字稿 在d3v3javascript中,它看起来如下。

int a = 5, b = -a;

const unsigned char * p = (const unsigned char *)&a;
const unsigned char * q = (const unsigned char *)&b;

for (size_t i = 0; i != sizeof(int); ++i)
    fprintf(stdout, "%02X ", p[i]);
fputc('\n', stdout);

for (size_t i = 0; i != sizeof(int); ++i)
    fprintf(stdout, "%02X ", q[i]);
fputc('\n', stdout);

但是,当我尝试将其转换为d3v4打字稿时,我会执行以下操作

var arc = d3.svg.arc()
.startAngle(function(d) {
    return d.x;
})

属性x在类型' DefaultArcObject'

上不存在

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:2)

好像DefaultArcObject似乎没有内置的x属性。您可以手动将其添加到d.ts(不推荐),也可以仅d any类型。

arc = D3.arc()
.startAngle(( d: any ) => {
    return d.x;
})