Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angular 5中通过URL将组件注入ng模板?_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 如何在angular 5中通过URL将组件注入ng模板?

Javascript 如何在angular 5中通过URL将组件注入ng模板?,javascript,angular,typescript,Javascript,Angular,Typescript,有一个共享模块和一个功能模块 共享模块有一个共享组件和一个视图容器(ng container),用于动态注入组件 既然共享组件不知道功能模块,因为功能模块依赖于共享组件,而不是反过来,那么在编译时不知道组件类型的情况下,如何动态注入组件呢? 更糟糕的是,共享组件是通过URL实例化的,而不是模板本身的一部分。我的意思是: 在功能模块中,共享组件通过以下方式导航: this.navigateViaUrl(“urlToTheSharedComponent”) 我尝试使用类似于中描述的反射 但是,我不想

有一个共享模块和一个功能模块

共享模块有一个共享组件和一个视图容器(
ng container
),用于动态注入组件

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

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

this.navigateViaUrl(“urlToTheSharedComponent”)

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

const factories=Array.from(this.resolver[''u factories'].values())
const factory=factories.find((x:any)=>x.selector==selector)


ng模板或ng容器中是否存在通过URL注入组件的方法?或者还有其他方法吗?

该链接建议您使用专用词典,这样您就不需要使用私有财产。“通过url注入”有什么意义?@yurzui,意思是,如果组件在编译时不为人所知,因为它位于更高的抽象层(在组件所在的位置使用共享的功能层),那么在运行时,我们可以“使用组件的url获取组件”,类似于“让thisIsRequiredComponent=getComponent”(“UrlToTheComponent”)`