nodeEnter.append('text')
.attr("dy", ".35em")
.attr("text-anchor", function (d) {
return d.children || d._children ? "end" : "start";
})
.text(function (d) { return d.data.name; });
在打字稿中,我收到此错误:
TS2551:“HierarchyPointNode< {}>”类型中不存在属性“_children”。你的意思是'孩子'吗?
我该如何处理这个错误
这是我的尝试:
import { HierarchyPointNode } from "d3";
declare interface HierarchyPointNode<Datum> {
_children: any;
}
我使用d3的方式是html中的导入脚本文件
<script src="../bower_components/d3/d3.min.js"></script>
然后我运行npm install @types/d3
在我的global.d.ts文件中,我写了这个:
/// <reference types="d3" />
import { HierarchyPointNode } from 'd3';
declare module 'd3' {
export interface HierarchyPointNode<Datum> {
_children: any;
}
}
但它无法帮助
答案 0 :(得分:2)
您需要在与其相同的模块中声明接口:
import { HierarchyPointNode } from 'd3';
declare module 'd3' {
export interface HierarchyPointNode<Datum> {
_children: any;
}
}
现在,无论您直接导入此文件(如果您调用它d3-extensions.ts
,您都必须像这样导入:import "d3-extensions"
)您将能够使用扩展接口。
希望这有帮助