【发布时间】:2017-01-22 09:05:44
【问题描述】:
在我的应用程序中,我有一个 SupportModule,它有 3 个子模块(AdminModule、ChatModule、ContactModule)。 SupportModule 及其 3 个子模块都有自己的路由定义。
结构看起来像
“AdminModule”的路由如下:
import { AdminComponent } from './admin.component';
import { RssFeedsComponent } from './rssFeeds.component';
import { RssFeedDetailComponent } from './rssFeedDetail.component';
export const adminRoutes: Route =
{
path: 'admin',
component: AdminComponent,
children: [
{ path: '', component: RssFeedsComponent },
{ path: 'feeds', component: RssFeedsComponent },
{ path: 'feeddetail', component: RssFeedDetailComponent }
]
};
SupportModule(三个子模块的父模块)的路由如下:
import { SupportComponent } from './support.component';
import { SupportNavComponent } from './support-nav.component';
//Feature Modules
import { chatRoutes } from './chat/chat.routing';
import { contactRoutes } from './contact/contact.routing';
import {adminRoutes} from './admin/admin.routing';
const supportRoutes: Routes = [
{
path: 'support',
component: SupportComponent,
children: [
{ path: '', component: SupportNavComponent },
chatRoutes,
contactRoutes,
adminRoutes
]
}
];
export const supportRouting: ModuleWithProviders = RouterModule.forChild(supportRoutes);
最后我将这个supportRouting 导入我的AppModule。
导航工作正常,没有任何问题。但我有点困惑。我不知道这是否是让父子模块拥有自己的路由的正确方法,或者是否有更好的方法来实现这一点。
如果有人可以纠正我(如果我犯了错误)或知道更好的方法,那将非常有帮助。
【问题讨论】: