路由到组件内的模块

时间:2017-06-07 12:35:55

标签: angular angular2-nativescript

该应用程序分为功能模块。 每个“页面”都加载到SideMenu组件中(以便所有页面都显示导航)。导航结构如下所示:

<page-router-outlet>
    <side-menu>
        <router-outlet>
        </router-outlet>
    </side-menu>
</page-router-outlet>

Page-router-outlet是NativeScript的特定路由器插座,但在这种情况下应该没有任何区别。

这是路由配置:

{
    path: 'view',
    component: SideMenu,
    children: [
        {path: '', component: MyPage },
        {
            path: 'some/path/:id',
            pathMatch: 'full',
            loadChildren: () => MyModule
        },
    ]
}

当我使用AppModule导航到任何东西时,它工作正常 - 它被加载到路由器插座中。当我导航到另一个模块时,侧面菜单消失 - 看起来当我离开AppModule时,导航在页面路由器插座上完成,而不是内部导航。

如何在路由到其他模块时实现相同的行为?

1 个答案:

答案 0 :(得分:0)

主模块路由:

{
    path: 'view',
    component: SideMenu,
    children: [
        {
            path: 'path/myModule',
            loadChildren: () => MyModule
        },
    ]
},
{
    path: 'modules/myModule',
    redirectTo: 'view/path/myModule'
}

myModule路由很简单,没有像这样的孩子:

{
    path: 'reports',
    component: ReportPage,
}

问题可能在

  

pathMatch:全