Фокус в том, что изображение не является, как упоминалось, kkemple частью Shadow DOM, а скорее Light DOM, что означает, что он напрямую не доступен изнутри компонента. Это предоставленный пользователем контент, например параметры, переданные в конструктор класса на языке ООП. Если это вообще возможно, пользователь должен предоставить свои собственные стили, чтобы пойти с ним.
Это, как говорится,, существуют определенные варианты использования, когда автор компонента хочет создать контент, предоставленный пользователем. Скрытие определенных частей пользовательской разметки на основе атрибутов на хосте, события (клики) и т. Д., Безусловно, являются одним из них. В этом случае, оберните <content>
элемент в элементе Shadow DOM и скрыть что:
<template>
<style>
.image {
display: none;
}
</style>
<div class="image">
<content></content>
</div>
</template>
http://codepen.io/anon/pen/rCGqD
На стороне записки: Это технически возможно apply styles directly to Light DOM elements, но имейте в виду, что в во многих случаях это считается утечкой деталей реализации во внешний мир. Если первое решение работает, используйте это вместо этого.
Спасибо, это дает мне лучшее понимание того, что можно сделать и не выполнимо с Shadow DOM. Но это означает, что веб-автор может каким-то образом пропустить свои стили внутри компонента ... это не идеально! –