javascript - d3.js 不能在 shadowDOM 中工作

标签 javascript d3.js dart angular-dart shadow-dom

我正在构建一个利用 d3.js 进行数据可视化的工具。该工具依赖于 webcomponentss 和 shadowDOM。 d3.js 无法仅通过 d3.select 选择 shadowDOM 中的任何节点。有没有办法让 d3shadowdom 中工作,还是我遗漏了一些明显的东西?

详细说明:

d3.select("#insideShadowDom")

如果你有类似的东西,就不会返回/选择任何东西

<web-component>
#document-fragment
   <div id="insideShadowDom"></div>
</web-component>

澄清一下:shadowDOM 是由框架生成的。我找到了一种获取初始 shadowRoot(注入(inject))的方法。但是,我仍然想知道是否可以将 shadowDOM 告诉 d3,即使我没有 createShadowRoot() 的句柄返回。

最佳答案

您可以传入对象——另外,如果您需要从回调中引用对象,请使用 var:

<polymer-element name="my-element">
    <template>
        <div id="foobar"></div>
    </template>
    <script>
        Polymer('my-element', {
            ready: function() {
                var foobar = this.$.foobar;
                someCallback(function() {
                    d3.select(foobar).
                    ...
                }); 
                ...
            }
        });
    </script>
</polymer-element>

关于javascript - d3.js 不能在 shadowDOM 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20557913/

相关文章:

dart - 小部件属性的颤动匿名/内联函数

intellij-idea - 运行 Dart 项目说 Dart :html is not available for the standalone vm

javascript - 根据主输入类型="file"(多个)元素创建多个输入类型="file"元素及其对应的值(FileList)

d3.js - d3 v6 指针函数未调整缩放和平移

javascript - 如何在d3中绘制单轴频率分布图?

javascript - d3.json() 函数返回未定义

flutter - 带有枚举的 dart switch case 中缺少 case 子句错误

javascript - Vue JS 中等于 "="和冒号 ":"符号有什么区别?

javascript - 更新另一个集合中的匹配记录?

javascript - 使用 Arc 的 HTML5 Canvas Clip 剪辑错误