Я только начал изучать пользовательские элементы HTML, и, прочитав серию вступлений, учебных пособий и документации, я думаю, что у меня есть хорошее представление о том, как это работает, но у меня есть философский вопрос о правильном способе использованияили не используйте тег <template>
.
Пользовательские элементы дают вам возможность инкапсулировать новые функциональные возможности, упрощая структуру вашего HTML-документа и позволяя просто вставить тег <my-custom-element>...</my-custom-element>
вместо <div class="my-custom-element"><span class="part1">...</span><span class="part2">...</span></div>
,
Определение класса для элемента затем устанавливает структуру и функциональные возможности этого элемента.Затем в куче руководств описывается, как использовать <template>...</template>
и <slot>...</slot>
для настройки содержимого пользовательского элемента.Затем вам нужно будет включить код шаблона в каждый HTML-документ, в котором вы хотите использовать элемент, а не настраивать его в конструкторе класса пользовательского элемента.Разве это не противоречит тому факту, что пользовательские элементы помогают упростить и инкапсулировать функциональность таким образом, чтобы сделать их более переносимыми?Или я неправильно понимаю правильное использование и / или размещение шаблона в документе?
Глядя на SO, наиболее близким к решению этого вопроса является следующий:
Какштамповать шаблон в автономных пользовательских элементах с помощью vanilla js?
Но ответ, по сути, обходит это все вместе и говорит: «Не используйте <template>
», и поэтому не совсем проясняет мое замешательство.