【发布时间】:2017-09-24 23:31:11
【问题描述】:
我想在 angular2 中使用 d3js,但是当我想在元素更改时添加过渡时,会出现错误:
Property 'transition' does not exist on type 'Selection<BaseType, {}, null, undefined>'
我用angular-cli生成项目,angular的版本是4.0.0,d3js是4.8.0
这是我的typings.d.ts:
declare module 'd3' {
export * from 'd3-array';
export * from 'd3-axis';
export * from 'd3-brush';
export * from 'd3-chord';
export * from 'd3-collection';
export * from 'd3-color';
export * from 'd3-dispatch';
export * from 'd3-drag';
export * from 'd3-dsv';
export * from 'd3-ease';
export * from 'd3-force';
export * from 'd3-format';
export * from 'd3-geo';
export * from 'd3-hierarchy';
export * from 'd3-interpolate';
export * from 'd3-path';
export * from 'd3-polygon';
export * from 'd3-quadtree';
export * from 'd3-queue';
export * from 'd3-random';
export * from 'd3-request';
export * from 'd3-scale';
export * from 'd3-selection';
export * from 'd3-shape';
export * from 'd3-time';
export * from 'd3-time-format';
export * from 'd3-timer';
export * from 'd3-transition';
export * from 'd3-voronoi';
export * from 'd3-zoom';
}
这是我的 app.component.ts
import * as d3 from 'd3';
......
d3.select(this).select("path").transition().attr("d", function(d) {
console.log(d);
return arc2(<any>d);
})
如果我删除transition(),它的效果会很好。
如何解决?谢谢
【问题讨论】:
-
你能在 jsfiddle 上发帖吗?
-
@TheBiro 这里是 github repo github.com/justforuse/angular2-d3-transition-issue,我不知道如何在 jsfiddle 中生成 angular4 演示,抱歉
-
我尝试了 npm uninstall --save-dev @types/d3,然后重启项目,一切正常,没有发生错误,那么是说@types/d3 有错误吗?
-
好吧。我发现了问题.. 我使用cnpm 而不是 npm 来安装包
标签: javascript angular d3.js transition