我跟隨此tutorial有一個我的應用程序的體系結構。如何將ngModule路由添加爲Angular2中另一個ngModule的子路由?
要提供更多信息,可以考慮將A
作爲appModule,而B
是另一個主要模塊。現在我想在B的<router-outlet>
里加載其他模塊(NgModule
,其中有很多其他的路由)。
什麼是更好的方法來做到這一點?
這是我迄今
-mainBoard (Folder next to app.Module)
--mainBoard Routes
--mainBoard Component
--mainHeader Component
--mainFooter Component
--mainSidenav Component
-Users (Folder inside mainBoard)
--User Module
--User Routes
--UserList Component
--UserDetail Component
--UserSetting Component
-Departments (Folder inside mainBoard)
--Department Module
--Department Routes
--DepartmentList Component
--DepartmentDetail Component
-Auth (Folder next to mainBoard folder)
--Auth Module
--Auth Component
--Auth Routes
-Sign-in (Folder)
--Sign-in Component
-Sign-up (Folder)
--Sign-up Component
-App Module
我有2個主要模塊,主板和驗證完成。 MainBoard有一個頁眉,sidenav,頁腳,在中心我想用<router-outlet>
加載用戶和部門。
我想加載localhost/app/users
加載用戶列表和localhost/app/department
加載部門列表。
我的主board.module和users.module這個樣子
// main-board.module.ts
import {MainBoardRouting} from './main-board.routes';
import {UsersModule} from './users/users.module';
import {DepartmentsModule} from './departments/departments.module';
@NgModule({
imports :[
MainBoardRouting,
UsersModule,
DepartmentsModule
],
declarations : [
MainBoardComponent,
MainHeaderComponent,
MainFooterComponent,
MainSidenavComponent
],
providers: []
})
export class MainBoardModule{}
// Users.module.ts
import {NgModule} from '@angular/core';
import {usersRouting} from './users.routes';
import {UserListComponent} from './user-list';
import {UserDetailComponent} from './user-detail';
@NgModule({
imports :[
usersRouting
],
declarations : [
UserListComponent,
UserDetailComponent
],
providers: []
})
export class UsersModule{}
//主board.routes
import { RouterModule,Routes } from '@angular/router';
import { MainBoardComponent } from './main-board.component';
const MainBoardRoutes: Routes = [{
path: 'app',
component: MainBoardComponent
}];
export const MainBoardRouting = RouterModule.forChild(MainBoardRoutes);
//用戶路線
import { Routes, RouterModule } from '@angular/router';
import { UserListComponent } from './user-list';
import { UserDetailComponent } from './user-detail';
export const usersRoutes: Routes = [
{path: '', redirectTo: 'app/users', pathMatch:'full'},
{ path: 'users', component: UserListComponent },
{ path: 'user/:id', component: UserDetailComponent }
];
export const usersRouting = RouterModule.forChild(usersRoutes);
我的方法正確地讓孩子NgModule具有自己的路由,還是必須將它們更改爲簡單組件,並且擁有main-board
模塊路由中的所有路由?
這些帖子應該有助於http://stackoverflow.com/questions/39131350/nesting-angular2-rc5-routes-multiple-files/39151698#39151698 http://stackoverflow.com/questions/38879529/how-to-路由模塊作爲一個模塊的角度2-rc-5 – cboston
我遇到了這種方法有關如何指定'插入'功能模塊路由父模塊路由器配置: http://stackoverflow.com/questions/41723540/angular2-whats-the-equivalent-of-the-router-loadchildren-without-lazy-loadin 這種方法適合你嗎? – Clement