Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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 如何正确直观地嵌套HTML自定义元素_Javascript_Html_Custom Element - Fatal编程技术网

Javascript 如何正确直观地嵌套HTML自定义元素

Javascript 如何正确直观地嵌套HTML自定义元素,javascript,html,custom-element,Javascript,Html,Custom Element,我正在尝试编写一个简单的HTML自定义元素,用于在页面上放置树,使用以下简单代码: <html-tree title="root"> <tree-node title="child1"> <tree-node title="leaf1"></tree-node> <tree-node title="leaf2"></tree-nod

我正在尝试编写一个简单的HTML自定义元素,用于在页面上放置树,使用以下简单代码:

<html-tree title="root">
  <tree-node title="child1">
    <tree-node title="leaf1"></tree-node>
    <tree-node title="leaf2"></tree-node>
  </tree-node>
  <tree-node title="child2">
    <tree-node title="leaf3"></tree-node>
    <tree-node title="leaf4"></tree-node>
  </tree-node>
</html-tree>

显示了阴影dom的默认样式,其内容为“nothing”,因此要实现真正的嵌套

在上述代码中,除了在
:host>*
上设置边框外,
:host
还需要显式标记为块:

setupDOM(shadow) {    
  this.setStyle(`
    :host {
      display: block;
      border: 1px red solid;
    }
    :host > slot {
      display: block;
      border: 1px red solid;
      margin-left: 1em;
    }
  `);
  ...
}

不要使用
节点
作为类名,它已经被DOM使用。范围界定使这一点都不是问题。为什么讨论位于:一个非常好的链接,谢谢。编辑答案。