Postępuję zgodnie z tym tutorial, aby mieć architekturę mojej aplikacji.Jak dodać trasy ngModule jako trasy podrzędne innego modułu w Angular2?
Aby podać więcej informacji, rozważmy A
jako appModuł, a kolejnym ważnym modułem jest B
. Teraz chcę załadować inne moduły (NgModule
, które ma wiele innych tras) wewnątrz B's <router-outlet>
.
Jakie jest lepsze podejście do tego?
To, co zrobiłem do tej pory
-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
Mam 2 główne moduły, płyty głównej i Auth. MainBoard ma nagłówek, sidenav, stopkę i na środku Chcę załadować użytkowników i dział, używając <router-outlet>
.
Chcę załadować localhost/app/users
, aby załadować listę użytkowników i localhost/app/department
, aby załadować listę oddziałów.
Główny-board.module i users.module wyglądać następująco
// 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{}
// main-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);
// droga użytkownika
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);
Czy moim podejściem jest posiadanie dziecka z modułem NgModule z własnymi trasami lub czy muszę je zmienić na prosty komponent i czy wszystkie trasy w trasach modułów są trasami main-board
?
Te posty powinny pomóc http://stackoverflow.com/questions/39131350/nesting-angular2-rc5-routes-multiple-files/39151698#39151698 http://stackoverflow.com/questions/38879529/how-to- Trasa do modułu-jako-dziecko-modułu-kątowego-2-rc-5 – cboston
Mam problem z tym podejściem, określając, gdzie należy wstawić trasę modułu obiektów w obrębie moduł macierzysty konfiguracja routera: http://stackoverflow.com/questions/41723540/angular2-whats-tequivalent-of-the-router-loadchildren-without-lazy-loadin Czy to podejście działa dla Ciebie? – Clement