从影响 Servicenow 上其他 d3 图表的 AngularJS 脚本下拉

Drop down from AngularJS Script affecting other d3 charts on Servicenow

我最近使用 Servicenow 门户页面创建了一份报告。作为背景,可以通过将小部件拖放到容器中来创建 Servicenow 门户页面。

这些小部件基本上由 HTML/CSS/AngularJS 组合组成,它们定义了现实世界中的单个 html 页面。我可以成功地创建 4 个这样的小部件并将其添加到一个页面中。每个小部件使用 d3 和 API 调用数据库形成一个小型 SVG 报告。

我最近创建了一个带有 d3 甜甜圈报告的新小部件。这个甜甜圈有一个下拉菜单,在更改时会重新呈现甜甜圈以可视化不同的数据组合。

当我将它拖放到门户页面并加载页面时,一切正常。但是,在选择下拉菜单时,将清除页面上呈现的其余报告。我正在努力找出造成这种情况的原因。我尝试打印到控制台,在受影响的小部件上,没有任何收益。

有人可以指导我了解我需要查看的可能选项吗,根据我目前的知识,我想不出有任何错误的可能性。

好吧,我很笨。在最后一个小部件中,我有一个 d3 函数可以帮助删除和重新创建图表。这有一个删除所有 svg 元素的命令。这就是行为的原因。

我更改了命令

d3.selectAll("svg").remove();

d3.select("#graph").html(null);

这解决了我的问题。