当使用Angular Elements时,有时会发现您的组件的body标签会被奇怪地在DOM中的末尾添加。这个问题可以通过以下方法解决:
在你的组件中添加encapsulation: ViewEncapsulation.ShadowDom
,如下所示:
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'app-custom-element',
template: `
`,
encapsulation: ViewEncapsulation.ShadowDom
})
export class CustomElementComponent {
// Your component logic here
}
这将使用Shadow DOM来封装您的组件内容,从而防止body标签被添加到全局DOM中。