Как определить, был ли создан теневой корень с помощью API v0 или v1?
Предположим, экспорт модуля JSshadowRoot
который был создан либо сel.createShadowRoot
или жеel.attachShadow
(мы не знаем какие). Как мы можем определить, является ли корень теневым корнем v0 или теневым корнем v1 (то есть, как мы определяем, какой метод использовался для создания корня)?
например, что бы я заполнил в следующих условных утверждениях?
// 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".
Больше информации:
Мы хотим выяснить, был ли создан теневой корень изcreateShadowRoot
или изattachShadow
, Получающиеся корни различны: в корне, созданном сcreateShadowRoot
, <content>
элементы используются для распределения элементов. В корнях, созданных сattachShadow
, <content>
элементы ничего не делают, и<slot>
элементы используются вместо Как определить, какой метод использовался для создания корня (т. Е. Есть ли у нас корень v0 или корень v1)?