在 Polymer 中获取 d3 元素时遇到问题
2016-10-13
330
我正在尝试实现 立体主义 ,并且在我的 聚合物 组件中使用 d3.js v2。第一步是选择图表的 DOM 元素:
d3.select("#example1").call(function(div) {
...
});
这在
cubism.v1.js
的第 1205 行返回以下错误:
Uncaught TypeError: Cannot read property 'appendChild' of null
检查代码后,
div
对象没有 id,并且
innerHtml
值是我的 html 的
全部
(从
<head>
开始,到
</body>
结束)。
我假设这是由于代码运行后聚合物渲染
<div id='example1'></div>
,但我不确定。我尝试将
select
语句放在
<dom-module>
下其自己的
<script>
标记中以及
Polymer.ready
函数中。两者的结果相同。
我该如何修复此问题?
2个回答
我能够通过将此:
d3.select("#example1").call(function(div) { .. }
更改为:
var chart = self.$$('#example1');
d3.select(chart).call(function(div) { ... }
来解决该问题,如 自动节点查找 中所述。
2016-10-13
为了在聚合物中使用d3v5在聚合物中选择阴影dom元素(具有ID,类等),您可以简单地进行以下操作:
095538917
Manas
2019-01-20