Уничтожает ли Angular созданные вручную компоненты, если они удалены из DOM? - PullRequest
0 голосов
/ 26 марта 2019

Разрушает ли angular компонент, если мы добавляем и удаляем его из DOM вручную?

constructor(
    private componentFactoryResolver: ComponentFactoryResolver,
    private appRef: ApplicationRef,
    private injector: Injector
) {
    // Create component
    const myComponentRef = this.componentFactoryResolver
        .resolveComponentFactory(MyComponent)
        .create(this.injector);
    this.appRef.attachView(myComponentRef.hostView);

    // Subscribe on 'someChange' event of the component
    myComponent.instance.someChange.subscribe(() => {
        // Should be unsubscribed if the component is destroyed
    });

    // Non Angular DOM manipulation
    const myComponentElement = componentRef.hostView.rootNodes[0];
    const containerElement = document.getElementById('container');

    containerElement.appendChild(myComponentElement);
    containerElement.innerHtml = '';
}

Некоторые подробности, некоторые подробности, некоторые подробности ... StackOverflow немного туп, чтобы понять, чтокод содержит все возможные детали

...