fix(core): do not clear element content when using shadow dom (#24861)
PR Close #24861
This commit is contained in:

committed by
Misko Hevery

parent
1f59f2f04d
commit
6e828bba88
@ -6,6 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {ViewEncapsulation} from '../metadata/view';
|
||||
import {RendererType2} from '../render/api';
|
||||
import {SecurityContext} from '../sanitization/security';
|
||||
|
||||
@ -163,7 +164,11 @@ export function createElement(view: ViewData, renderHost: any, def: NodeDef): El
|
||||
renderer.appendChild(parentEl, el);
|
||||
}
|
||||
} else {
|
||||
el = renderer.selectRootElement(rootSelectorOrNode);
|
||||
// when using native Shadow DOM, do not clear the root element contents to allow slot projection
|
||||
const preserveContent =
|
||||
(!!elDef.componentRendererType &&
|
||||
elDef.componentRendererType.encapsulation === ViewEncapsulation.ShadowDom);
|
||||
el = renderer.selectRootElement(rootSelectorOrNode, preserveContent);
|
||||
}
|
||||
if (elDef.attrs) {
|
||||
for (let i = 0; i < elDef.attrs.length; i++) {
|
||||
|
Reference in New Issue
Block a user