У меня есть приложение 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 / профиль.Как я могу это сделать?