我正在尝试创建一个动态组件。这是 plunker 中的示例。http://embed.plnkr.co/EVFglgkp24hkRkpxrEGe/ 一切正常,但存在内存泄漏。
这是 github 票https://github.com/angular/angular/issues/19997
动态创建的组件正在被销毁,但创建动态组件的组件并没有被销毁。换句话说,编译动态组件的组件没有被破坏。
在上面的示例中,如果我们在“主页”和“动态页面”之间来回导航并在 chrome 中拍摄内存快照,您可以看到假设被销毁的组件仍然存在,如下图所示。
出于测试目的,我什至尝试评论以下行,但问题仍然存在。
let injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);
let ngMdlRef = ngMdlFac.create(injector);
let cmpFactory = ngMdlRef.componentFactoryResolver.resolveComponentFactory(DynamicHtmlComponent);
this.cmpRef = this.vcRef.createComponent(cmpFactory);
我打电话的那一刻
this.compiler.compileModuleAsync
创建者组件根本没有被破坏。在那之前没有问题。
你能请人帮忙吗?先感谢您。