mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
When using ViewEncapsulation.ShadowDom, Angular will not remove the child nodes of the DOM node a root Component is bootstrapped into. This enables developers building Angular Elements to use the `<slot>` element to do native content projection. PR Close #24861
23 lines
914 B
TypeScript
23 lines
914 B
TypeScript
import {Injector, NgModule} from '@angular/core';
|
|
import {createCustomElement} from '@angular/elements';
|
|
import {BrowserModule} from '@angular/platform-browser';
|
|
|
|
import {HelloWorldComponent, HelloWorldShadowComponent, TestCardComponent} from './elements';
|
|
|
|
|
|
@NgModule({
|
|
declarations: [HelloWorldComponent, HelloWorldShadowComponent, TestCardComponent],
|
|
entryComponents: [HelloWorldComponent, HelloWorldShadowComponent, TestCardComponent],
|
|
imports: [BrowserModule],
|
|
})
|
|
export class AppModule {
|
|
constructor(private injector: Injector) {
|
|
customElements.define('hello-world-el', createCustomElement(HelloWorldComponent, {injector}));
|
|
customElements.define(
|
|
'hello-world-shadow-el', createCustomElement(HelloWorldShadowComponent, {injector}));
|
|
customElements.define('test-card', createCustomElement(TestCardComponent, {injector}));
|
|
}
|
|
ngDoBootstrap() {}
|
|
}
|
|
|
|
export {HelloWorldComponent};
|