Вместо того, чтобы пытаться обновить компонент <video>
, вы можете создать класс для вашего собственного компонента, который будет использовать свой собственный CSS, и у класса будут все ваши собственные JS.
Помните, что shadowDOMне инкапсулирует JavaScript, только DOM и CSS.Лучший способ инкапсулировать ваш JS - это поместить его в свой собственный класс.
Ваш шаблон может быть таким простым:
const template = `<style>
:host {
display: inline-block;
Anything else for the component shell
}
</style>
<video></video>`;
Вам потребуется JavaScript, чтобы взять некоторые атрибуты и дочерние элементы и передать их элементу <video>
.Но это не должно быть сложно.