Я использую функцию ленивой загрузки Angular, а ниже - мое app-rout.module.ts
const routes: Routes = [
{ path: 'auth', loadChildren: './auth/auth.module#AuthModule' },
{ path: 'not-found', loadChildren: './not-found/not-found.module#NotFoundModule' },
{ path: '**', redirectTo: 'not-found' }
];
Теперь внутри моего auth-routing.module.ts у меня есть 2 варианта для определения дочерних маршрутов модулей авторизации
1-й вариант с использованием дочернего параметра
const routes: Routes = [
{
path: '', children: [
{ path: '', redirectTo: 'login' },
{ path: 'login', component: LoginComponent },
{ path: 'register', component: RegisterComponent }
]
}
];
2-й вариант без дочернего параметра
const routes: Routes = [
{ path: '', redirectTo: 'login' },
{ path: 'login', component: LoginComponent },
{ path: 'register', component: RegisterComponent }
];
Я попробовал оба варианта, и я получил тот же результат, т.е.
- / auth переводит меня на маршрут
/auth/login
и открывает login
страницу
- / auth / открывается регистр
register
страница
- / auth / логин открывается
login
страница
Мой вопрос: -
- Есть ли какая-либо разница в вышеуказанных 2 вариантах и что?
- Какая практика лучше?
ПРИМЕЧАНИЕ: мне не нужен компонент auth, поэтому вы видите, что параметр компонента отсутствует в конфигурации маршрутов в обеих опциях.