У меня есть следующие маршруты:
const routes: Routes = [
{ path: "", component: InicioComponent},
{ path: "auth", loadChildren:"../app/components/auth/auth.module#AuthModule"},
{ path: "perfil", canActivate: [AuthGuard], component: ProfileComponent},
/*other paths here*/
{ path: "bruto", component: CalcBrutoComponent,canActivate: [RoleGuard], data: {expectedRole: 'Administrador'} },
{ path: "pdf", canActivate: [RoleGuard], component: SignAndSendComponent,data: {expectedRole: 'Administrador'} },
{ path: "**", component: Page404Component}
];
И для справки, тот, который используется в / auth (auth.module):
const routes: Routes =[
{path: 'registro',component:RegisterComponent},
{path: 'login',component:LoginComponent},
];
@NgModule({
imports: [RouterModule.forChild(routes),FormsModule,ReactiveFormsModule],
exports: [RouterModule,FormsModule,ReactiveFormsModule]
})
export class AuthRoutingModule { }
У меня так, потому что я начал это после учебника. Я не понимаю преимущества наличия маршрутов в дочернем файле. В любом случае, проблема в том, что если я вставлю маршрут / login , он будет перенаправлен на путь "**".
Если я удаляю строку пути "**", то она корректно перенаправляется для входа в систему. Интересно, в чем проблема, и как я могу получить как работающий логин, так и ** путь для 404 страниц.
ДОБАВЛЕНО auth.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AuthRoutingModule } from './auth-routing.module'
import { RegisterComponent } from './register/register.component'
import { LoginComponent } from './login/login.component'
import {AuthService} from '../../services/auth.service';
@NgModule({
declarations: [
RegisterComponent,
LoginComponent
],
imports: [
CommonModule,
AuthRoutingModule
],
providers: [
AuthService
]
})
export class AuthModule { }
Использование Angular 8.2.14.