Я создаю некоторые веб-компоненты и хочу вставить содержащийся текст в слот шаблона. Я хотел бы сделать его табличным, а не просто копировать их значение, чтобы браузер мог естественным образом обрабатывать изменения текста вместо того, чтобы передавать его через сам компонент.
Согласно MDN textNodes являются слотами, однако я не могу найти никаких реальных средств для этого, кроме устаревшего элемента из v1. (textNodes не поддерживают атрибуты, поэтому я не могу просто назначить ему слот таким образом, а .assignedSlot () доступен только для чтения.) Поддержка вне документации довольно минимальна, хотя этого и следовало ожидать от такой новой технологии .
<my-element>some text</my-element>
<template>
<h3><slot name="label"></slot></h3>
<p>Derp</p>
</template>
Используя это в качестве упрощенного примера, я бы хотел, чтобы some text
отображался в слоте label
и соответственно обновлялся при изменении разметки. Есть ли хороший / комплексный способ сделать это? Придется ли мне прибегать к mutationObserver?