그림자 DOM으로 요소를 만들고, 결국 사용자 정의 요소에서 사용합니다. 내 HTML 파일은 이미 약간 부풀어 오르기 때문에 내 HTML 본문에서 템플릿을 참조하는 대신 자바 스크립트로 내 모든 템플릿을 이동하는 것이 이상적입니다. 자바 스크립트에서 그림자 DOM 템플릿 정의하기
나는 그렇게 위해이 방법을 시도 :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 또는 템플릿에 대해서는 충분히 알지 못합니다.
내 코드에 버그가 있습니까? 아니면 자바 스크립트에서 템플릿을 만드는 더 좋은 방법이 있습니까?