Я пытаюсь инициализировать Autodesk Forge Viewer с помощью GuiViewer3D()
, и мой проект настроен на использование LitElement.Однако это приводит к ошибке, так как API Forge Viewer пытается выполнить запрос к Light DOM, используя document.getElementById()
, но контейнерный элемент Viewer инкапсулирован в Shadow DOM.
Я попытался настроить графический интерфейс вручную, выполнив https://github.com/nopjia/lmv-viewer. Тем не менее, есть дополнительные накладные расходы по написанию графического интерфейса для надежности в производстве.
Другим решением было бы смонтировать компонент без присоединения shadowRoot
с помощью жизненного цикла connectedCallback()
, т. Е. Они будут жить в Light DOM.Но это было бы против паттерна в случае веб-компонента и LitElement.
Каким должен быть подход для решения этой проблемы, при этом все же необходимо избегать ручной настройки графического интерфейса, а также не жертвовать функциями Shadom DOM?