首页 > 解决方案 > 我们如何通过 Angular 5 中的 URL 在 ng-template 中注入组件?

问题描述

有一个共享模块,也有一个功能模块。

共享模块有一个共享组件,并有一个视图容器(ng-container)来动态注入一个组件。

由于共享组件不知道功能模块,因为功能模块依赖于共享而不是相反,如何在编译时不知道组件类型的情况下动态注入组件?更糟糕的是,共享组件是通过 URL 实例化的,而不是模板本身的一部分。我的意思是:

在功能模块中,共享组件通过以下方式导航:

this.navigateViaUrl("urlToTheSharedComponent")

我尝试使用与此链接中描述的类似的反射 但是,我不想使用私有变量,因为它不是未来的证明。

常量工厂 = Array.from(this.resolver['_factories'].values());
const factory = factory.find((x: any) => x.selector === selector);

有没有通过 URL 注入组件ng-template or ng-container?或者还有其他方法吗?

标签: javascriptangulartypescript

解决方案


推荐阅读