¿Cómo detectamos si se hizo una raíz sombra con la API v0 o v1?
Supongamos que un módulo JS exportashadowRoot
que fue creado con cualquierael.createShadowRoot
oel.attachShadow
(No sabemos cuál). ¿Cómo detectamos si la raíz es una raíz sombra v0 o una raíz sombra v1 (es decir, cómo detectamos qué método se utilizó para crear la raíz)?
Por ejemplo, ¿qué llenaría en las siguientes declaraciones condicionales?
// for argument's sake, we don't create the root, we only get a reference
// to it:
import shadowRoot from 'somewhere'
function getShadowRootVersion(root) {
if ( ... )
return 'v0'
if ( ... )
return 'v1'
}
console.log(getShadowRootVersion(shadowRoot)) // should output "v0" or "v1".
Más información:
Queremos averiguar si se creó una raíz sombra a partir decreateShadowRoot
o deattachShadow
. Las raíces resultantes son diferentes: en la raíz creada concreateShadowRoot
, <content>
Los elementos se utilizan para distribuir elementos. En raíces creadas conattachShadow
, <content>
los elementos no hacen nada, y<slot>
Se utilizan elementos en su lugar. ¿Cómo detectamos qué método se utilizó para crear una raíz (es decir, si tenemos una raíz v0 o una raíz v1)?