Ошибка при инициализации графа vis.js с пустым списком ребер

Один из моих частных случаев - это граф только с одним узлом и без ребра.

data = {"nodes":[{"id":"1.5bc716135c87e","label":"Only one node"}],"edges":[]};
var network = new vis.Network(container, data, options);

Однако я получаю

jquery.js:3827 Uncaught TypeError: Cannot read property 'hasChildNodes' of null
at Canvas._create (vis.js:52844)
at new Network (vis.js:42565)
at HTMLDocument.<anonymous> (1:441)
at mightThrow (jquery.js:3534)
at process (jquery.js:3602)

Должна быть возможность создать такой график, или я что-то упускаю?

  • Я создал скрипку здесь, но, к сожалению, это работает: - / http://jsfiddle.net/w7uv5rh2/1/
  • Моя локальная версия выдает указанную выше ошибку.
  • Как только я добавляю второй узел, я больше не получаю ошибку
  • У меня вис 4.21 установлен через npm

Ошибка не имеет ничего общего с построением графа. Поделитесь достаточным количеством кода, чтобы воспроизвести проблему (см. минимальный воспроизводимый пример)

YakovL 17.10.2018 16:18
jsfiddle.net/w7uv5rh2/1
olidem 17.10.2018 17:58

Что ж, "проверяемый" бит важен, ваша рабочий пример не воспроизводит проблему, как вы заметили сами. Вы должны сделать его воспроизводимым, и, как я уже сказал, ошибка не имеет ничего общего с созданием графика. Скорее всего, вам придется поделиться еще каким-то кодом (и он должен где-то включать hasChildNodes!)

YakovL 17.10.2018 18:13

Так что это моя проблема. Вызов hasChildNodes выполняется внутри библиотеки vis.js. Я импортировал библиотеку напрямую с помощью webpack, и самое забавное - мое замечание о том, что как только есть два узла, ошибок больше не возникает! Я просто не знаю, с чего начать искать разницу между моей настройкой и скрипкой.

olidem 18.10.2018 11:37

В общем, есть как минимум 2 способа отладки: один - использовать отладчик и попытаться проанализировать трассировку стека и ожидаемые / фактические значения в нем; другой может быть длиннее, но проще: скопируйте локальное приложение, опишите сценарий, который приводит к ошибке, затем запустите процедуру упрощения и тестирования: удалите некоторые вещи из приложения (например, серверную часть, если она у вас есть, некоторые параметры сети, html elements, css или other-features-js и т. д.), повторите попытку, если ошибка все еще существует, если она есть, повторите, если она исчезла, верните ее обратно. В этом случае ваша цель - создать минимальное приложение, а затем снова попробовать его в jsfiddle.

YakovL 18.10.2018 12:45
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
806
0

Другие вопросы по теме