Если путь "**" существует, URL логина перенаправляет на него неправильно - PullRequest
0 голосов
/ 12 марта 2020

У меня есть следующие маршруты:

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.

1 Ответ

2 голосов
/ 12 марта 2020

Это перенаправление на 404, потому что вы используете ленивый метод загрузки для инициации компонента. Поэтому для модуля auth путь к файлу будет /auth/login.

Другие компоненты будут загружены согласно вашему текущему коду, потому что для этого вы не использовали ленивый метод загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...