Я создаю элемент с тенью dom, в конечном итоге для использования в пользовательском элементе. Мой HTML-файл уже немного раздутый, поэтому я бы идеально хотел переместить все мои шаблоны в скрипт java, а не ссылаться на шаблоны в теле моего html.Определение теневого шаблона DOM в javascript
Я попробовал этот подход для этого:
var template = document.createElement('template'),
div = document.createElement('div');
div.textContent = 'foo';
template.appendChild(div);
var shadow = document.body.appendChild('div').createShadowRoot();
shadow.appendChild(template.content.cloneNode());
Однако, это бросает NotFoundError. Копая глубже, похоже, что template.content определяется как #documentFragment
, что кажется, что это может быть проблемой, но я не знаю достаточно о теневом dom или шаблонах, чтобы сказать наверняка.
Есть ли ошибка в моем коде или лучший способ создания шаблонов в javascript?