Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 组合v1嵌套web组件_Javascript_Web Component_Shadow Dom_Custom Element - Fatal编程技术网

Javascript 组合v1嵌套web组件

Javascript 组合v1嵌套web组件,javascript,web-component,shadow-dom,custom-element,Javascript,Web Component,Shadow Dom,Custom Element,我不熟悉网络组件。由于v1网络组件可用,我从这里开始。我在网上读过很多关于他们的帖子。我特别感兴趣的是正确地撰写它们。我读过关于插槽的文章,并让它们工作,尽管我的努力并没有使插槽的网络组件按我预期的方式工作 如果我有这样的嵌套web组件,则嵌套/开槽webcomponent中的DOM不会插入父组件的槽中: 首先,您必须使用 然后调用attachShadow()将自动将新的阴影DOM分配给属性shadowRoot 您可以将HTML代码附加到影子DOM的innerHTML中,但我建议改用的内容属

我不熟悉网络组件。由于v1网络组件可用,我从这里开始。我在网上读过很多关于他们的帖子。我特别感兴趣的是正确地撰写它们。我读过关于插槽的文章,并让它们工作,尽管我的努力并没有使插槽的网络组件按我预期的方式工作

如果我有这样的嵌套web组件,则嵌套/开槽webcomponent中的DOM不会插入父组件的槽中:


首先,您必须使用

然后调用
attachShadow()
将自动将新的阴影DOM分配给属性
shadowRoot

您可以将HTML代码附加到影子DOM的
innerHTML
中,但我建议改用
内容
属性

那么筑巢是自然的:

customElements.define('parent component',类扩展了HtmleElement{
构造函数(){
超级()
this.attachShadow({mode:'open'})
this.shadowRoot.appendChild(parent1.content.cloneNode(true))
}
} )
define('child component',类扩展HtmleElement{
构造函数(){
超级()
var sh=this.attachShadow({mode:'open'})
sh.appendChild(child1.content.cloneNode(true))
}
})

你好
:主机{背景:浅蓝色;显示:内联块}
::开槽([slot=child]){background:lightyellow}
(家长)
开槽儿童:

:主机{显示:内联块} ::开槽(span){背景:粉红色} (儿童) 嵌套插槽: