Javascript Angular2:在身体上附加一个组件会移除你通过ComponentRef摧毁它的能力

Javascript Angular2:在身体上附加一个组件会移除你通过ComponentRef摧毁它的能力,javascript,angular,Javascript,Angular,我正在寻找一种最佳方法来避免以下情况: 我们有一个通过document.body.appendChild方法附加到body的模态 我们这样做是出于可访问性的原因 我们使用viaViewContainerRef和ComponentFactory创建此模式 只要我们不将组件附加到body,我们就可以调用componentRef上的destroy方法,并将组件一起从屏幕上删除。但是,由于我们必须将元素附加到body,因此调用componentRef.destroy()成功,没有错误,并将组件留在屏幕上

我正在寻找一种最佳方法来避免以下情况:

我们有一个通过
document.body.appendChild
方法附加到body的模态

我们这样做是出于可访问性的原因

我们使用via
ViewContainerRef
ComponentFactory
创建此模式

只要我们不将组件附加到body,我们就可以调用componentRef上的destroy方法,并将组件一起从屏幕上删除。但是,由于我们必须将元素附加到body,因此调用
componentRef.destroy()
成功,没有错误,并将组件留在屏幕上


现在我们将使用
document.body.removeChild
。有没有更好的办法?为什么会发生这种情况?使用
Renderer2
(稍后升级)是否有助于angular保持对该对象的控制并成功将其从dom中删除?

或许值得研究angular CDK门户:或许值得研究angular CDK门户: