我正在尝试实施cubism,并在我的d3.js组件中使用polymer v2。第一步是为图表选择DOM元素:
d3.select("#example1").call(function(div) {
...
});
这会在cubism.v1.js
的第1205行返回以下错误:
未捕获的TypeError:无法读取属性" appendChild'为null
检查代码后,div
对象没有ID,innerHtml
值为所有的html(以<head>
开头,以{结尾) {1}})。
我假设这是由于代码运行后聚合物呈现</body>
,但我不确定。我尝试将<div id='example1'></div>
语句放在select
下的<script>
标记和<dom-module>
函数中。两者都有相同的结果。
我该如何解决这个问题?
答案 0 :(得分:2)
我能够通过更改此问题来解决问题:
d3.select("#example1").call(function(div) { .. }
到此:
var chart = self.$$('#example1');
d3.select(chart).call(function(div) { ... }
答案 1 :(得分:0)
要使用D3V5在Polymer中选择阴影DOM元素(具有ID,类等),只需执行以下操作:
<div id="example"></div>
d3.select(this.$.example)