为什么需要在 web components 中克隆模板的内容
Why its need to clone the content of template in web components
几乎在所有使用模板作为 web 组件内部的示例中,它们都会在将模板内容附加到 shadowDOM 之前复制模板的内容。像这样
this.attachShadow({mode: 'open'});
this.shadowRoot.appendChild(tmp.content.cloneNode(true));
我的问题是你为什么需要这样做?如果我在不克隆的情况下附加此内容,可能会 运行 出现什么问题?
如果您不克隆内容,就是将内容从模板中移出,您将无法再使用该模板,因为它现在是空的。如果您先克隆它,您将移动克隆并且模板保持不变。
几乎在所有使用模板作为 web 组件内部的示例中,它们都会在将模板内容附加到 shadowDOM 之前复制模板的内容。像这样
this.attachShadow({mode: 'open'});
this.shadowRoot.appendChild(tmp.content.cloneNode(true));
我的问题是你为什么需要这样做?如果我在不克隆的情况下附加此内容,可能会 运行 出现什么问题?
如果您不克隆内容,就是将内容从模板中移出,您将无法再使用该模板,因为它现在是空的。如果您先克隆它,您将移动克隆并且模板保持不变。