有一个共享模块和一个功能模块。
共享模块具有共享组件,并且具有用于动态注入组件的视图容器(ng-container
)。
既然共享的组件不了解功能模块,因为功能模块不依赖于共享,而是反过来依赖共享,那么如何在不知道组件类型的情况下动态地注入组件呢? 更糟糕的是,共享组件是通过URL实例化的,而不是模板本身的一部分。我的意思是:
在功能模块中,共享组件通过以下方式导航:
this.navigateViaUrl("urlToTheSharedComponent")
我尝试使用类似于this link中所述的反射 但是,我不想使用private变量,因为它不是未来的证明。
const factory = Array.from(this.resolver ['_ factories']。values());
const factory = factory.find((x:any)=> x.selector ===选择器);
反正有通过ng-template or ng-container
中的URL注入组件吗?还是还有其他方法?