Выпадающий из AngularJS Script, влияющий на другие графики d3 на Servicenow - PullRequest
1 голос
/ 08 марта 2019

Я недавно работал над созданием отчета, используя страницу портала Servicenow.В качестве фона страница портала Servicenow может быть создана путем перетаскивания виджетов в контейнеры.

Эти виджеты в основном сформированы из комбинаций HTML / CSS / AngularJS, которые определяют одну HTML-страницу в реальном мире.Я мог бы успешно создать и добавить 4 таких виджета на одной странице.Каждый виджет формирует небольшой отчет SVG с использованием вызовов d3 и API к базе данных.

Недавно я создал новый виджет с отчетом о пончике d3.У этого пончика есть выпадающее меню, которое при изменении переопределяет пончик для визуализации другой комбинации данных.

Пока я перетаскиваю его на страницу портала и загружаю страницу, все работает нормально.Однако при выборе выпадающего меню, остальные очищенные отчеты будут очищены на странице.Я изо всех сил пытаюсь выяснить, что вызывает это.Я пытался печатать на консоль, на виджеты, на которые влияют, ничего не дает.

Может ли кто-нибудь подсказать мне возможные варианты, которые мне нужно искать, я не могу думать ни о какой возможности ошибиться с теми знаниями, которые у меня есть на данный момент.

1 Ответ

0 голосов
/ 08 марта 2019

Хорошо, я был тупым. В последнем виджете у меня была функция d3, которая помогала удалять и воссоздавать график. Это была команда для удаления всех элементов SVG. Вот причина поведения.

Я изменил команду

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

до

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

Это решило мою проблему.

...