如何导航到延迟加载的模块中的嵌套路由器出口

时间:2019-05-17 21:28:36

标签: angular angular2-routing lazy-loading

我测试了导航到另一个嵌套的路由器出口中的情况,这两个路由器出口都在组件中定义,并且运行良好。 现在,我想要的是在延迟加载的模块(称为BaseModule)中声明的组件(IndexPageComponent)中定义的嵌套路由器出口,但是当我尝试导航到另一个组件(IconsPageComponent,它被声明为IndexPageComponent的子代)时,在BaseRoutingModule中(导入到BaseModule中)。

延迟加载模块绑定到应用程序路由模块中的路径“ base”,IndexPageComponent在BaseRoutingModule中具有路径“”,而IconsPageComponent则具有路径“ icons”。 IndexPageComponent中的路由器出口的名称为“ tests”。 我试图导航到以下路线:

this._ROUTER.navigate([{outlets: {tests: ['base/icons']}}]);
this._ROUTER.navigate([{outlets: {tests: ['icons']}}]);

但都失败了,并出现了错误,即未定义路由“ base / icons”(或第二种情况下为“ icons”)。

我发现的一个临时解决方案是动态创建组件并将组件视图添加到IndexPageComponent视图,但是我想知道是否有一种方法可以使用嵌套的路由器插座。

谢谢

0 个答案:

没有答案