試圖在我的angular2應用中創建我的重定向路由。Angular2重定向路由不會改變瀏覽器網址
但我的問題是,當有人輸入了「NOPATH」,那麼用戶會被重定向到「HomeComponent」,但網址仍然保持「/#/ NOPATH」
路徑無效,我想redirectTo路線也更改網址! 我應該如何實現這一目標?
我應該把一個如果在我的HomeComponent構造函數,檢查當前的網址,並改變他的路線homecomponent?或者有什麼我失蹤?
路線:
const routes: Routes = [
{ path: '', pathMatch: 'full', component: HomeComponent },
{ path: 'login', component: LoginComponent, canActivate: [AnonymousGuard] },
{ path: 'register', component: RegisterComponent, canActivate: [AnonymousGuard] },
{ path: 'users', component: UserComponent, canActivate: [AuthGuard] },
{ path: '**', redirectTo: '' }
];
export const routing: ModuleWithProviders = RouterModule.forRoot(routes, {useHash: true});
編輯:
想這一點,但我沒有得到重定向到主成分
const routes: Routes = [
{ path: '', pathMatch: 'full' , redirectTo: 'home' },
{ path: 'home', component: HomeComponent },
{ path: 'login', component: LoginComponent, canActivate: [AnonymousGuard] },
{ path: 'register', component: RegisterComponent, canActivate: [AnonymousGuard] },
{ path: 'users', component: UserComponent, canActivate: [AuthGuard] },
{ path: '**', redirectTo: '' }
];
也許不使用重定向路由,只需使用「**」,組件:HomeComponent(而不是重定向)。 (NM嘗試了幾種方法,是的,我不會這樣做)。 –
你使用的是最新的Angular2和路由器版本嗎?最近我看到了類似的問題,在更新解決它的地方。 –
我使用3.2.3版本的路由器,我不知道如何檢查我是否有最新版本 – Vince