Angular - Перенаправление на index.html - PullRequest
0 голосов
/ 06 июня 2019

У меня есть приложение Angular 7, которое я хочу перенаправить на страницу входа (но показать /index.html вместо / login в URL) после истечения времени ожидания.

Во всем приложении я не хочуотобразить относительные пути в URL и просто показать /index.html при перенаправлении всех страниц (из-за дизайна приложения).

Итак, я использую skipLocationChange: true для этого.

app.routing.ts:

const appRoutes: Routes = [
  { path: 'login', component: LoginComponent },
  { path: 'reset-password', component: ResetPasswordComponent },
  {
    path: 'dashBoard',
    component: DashboardComponent,
    children: [
      { path: 'profile', component: ProfileComponent },
      { path: 'account', component: AccountComponent },
    ]
  },
  { path: '**', redirectTo: 'login' },
];

Я перенаправляю на ProfileComponent из компонента Login, используя:

this.router.navigate(['dashBoard/profile'], { skipLocationChange: true })

В компоненте Profile and Account после истечения таймера яя делаю:

this.router.navigate(['/login'], { skipLocationChange: true });

Это делает приложение перенаправленным на страницу входа, но показывает / dashBoard / profile в URL.

Итак, во-первых, почему URL-адрес изменился на / dashBoard / profileкогда я упомянул skipLocationChange: true?

Затем я попытался:

this.router.navigate(['/index.html'], { replaceUrl: true });

Это перенаправляет приложение на страницу входа, но показывает / входит в URL.

Iхотите показать /index.html в URL после перенаправления из / dashBoard / профиль.Как я могу это сделать?

...