Я пытаюсь создать роутер «родитель-потомок», используя этот подход к структуре папок. Прежде всего, я хочу прояснить, подходит ли эта структура папок с наличием компонентов внутри модулей или я должен что-то изменить.
Если это выглядит нормально, у меня возникли проблемы с созданием вложенного маршрутизатора, который мне нужен для fi. Проблема, объясненная ниже, с неработающим и работающим примером ниже?
Структура папок
│ app.component.css
│ app.component.html
│ app.component.ts
│ app.module.ts
│ app.routing.ts
│
├───login
│ login.component.css
│ login.component.html
│ login.component.spec.ts
│ login.component.ts
│
└───user //This is a module
│ user.module.ts
│ user.routing.ts
│
├───create-user //This is a component
│ create-user.component.css
│ create-user.component.html
│ create-user.component.spec.ts
│ create-user.component.ts
│
├───list-user //This is a component
│ list-user.component.css
│ list-user.component.html
│ list-user.component.spec.ts
│ list-user.component.ts
│
└───view-user //This is a component
view-user.component.css
view-user.component.html
view-user.component.spec.ts
view-user.component.ts
У моего app.routing есть это
import { Routes } from '@angular/router';
import { FullComponent } from './layouts/full/full.component';
import { LoginComponent } from './login/login.component'
export const AppRoutes: Routes = [
{ path:'login', component: LoginComponent },
{
path: 'admin',
component: FullComponent,
children: [
{
path: 'user',
loadChildren: './user/user.module#UserModule'
}
]
}
];
Мой user.router содержит это
import { Routes } from '@angular/router';
import { CreateComponent } from './create/create.component';
import { ViewComponent } from './view/view.component';
import { ListComponent } from './list/list.component';
export const UserRoutes: Routes = [
{
path: 'create',
component: CreateComponent
},
{
path: 'view',
component: ViewComponent
},
{
path: 'list',
component: ListComponent
}
];
Теперь, когда я пытаюсь получить доступ к URL http://localhost:4400/login, он прекрасно работает
Но когда я пытаюсь сделать то же самое с http://localhost:4400/admin/user/create, мой маршрут не работает. Мне нужна помощь с этим.
Следующий подход работает для меня хорошо, я хочу следовать что-то вроде выше.
Текущая процедура.
app.routing
import { Routes } from '@angular/router';
import { FullComponent } from './layouts/full/full.component';
import { LoginComponent } from './login/login.component'
export const AppRoutes: Routes = [
{ path:'login', component: LoginComponent },
{
path: '',
component: FullComponent,
children: [
{
path: '',
loadChildren: './user/user.module#UserModule'
}
]
}
];
user.routing
import { Routes } from '@angular/router';
import { CreateComponent } from './create/create.component';
import { ViewComponent } from './view/view.component';
import { ListComponent } from './list/list.component';
export const UserRoutes: Routes = [
{
path: 'create-user',
component: CreateComponent
},
{
path: 'view-user',
component: ViewComponent
},
{
path: 'list-user',
component: ListComponent
}
];
Следующий URL работает нормально
http://localhost:4400/login
http://localhost:4400/create-user