【发布时间】:2019-09-08 06:56:45
【问题描述】:
假设我想使用一个在内部使用 10 个 Web 组件的 Web 组件,如果该组件全局定义它,Internals 将污染我的全局组件命名空间,我不能将它们的名称用于其他组件。
有没有办法在另一个 Web 组件中使用一个 Web 组件而不通过 customElements.define() 定义它?
【问题讨论】:
-
具有相同名称但行为不同的组件似乎是个坏主意。
-
@Ouroborus 它们就像同名的函数或同名的变量,不是吗?
-
是的,只有一个注册表,所以没有“内部组件”,也不允许重复名称。如果您查看 Youtube.com 源代码,他们会使用以下元素名称“解决”“问题”:
<ytd-two-column-browse-results-renderer>不优雅,也许未来会带来 Shadow-DOM 范围元素。 -
@Danny'365CSI'Engelman 太丑了 :( 以后有没有建议添加?
-
这不像
iframe每个组件都应该有一个用途和一个名称。如果您想拥有不同的功能,请创建另一个组件。我不想发现<input>或<video>标签在不同情况下的工作方式不同