2017-11-11 121 views
1

目前,當我刷新頁面從路徑類似角5 - 重定向頁面主頁上的瀏覽器刷新

http://localhost:4200/feedback

它保持在同一條路線。但我希望路由重定向到

http://localhost:4200

我看到人問如何實現刷新保持在同一條路線。所以我猜,默認的角度應該重定向到瀏覽器刷新的主頁。任何想法爲什麼我的角度默認項目這樣做,否則?

下面是我AppRoutingModule

import { NgModule } from '@angular/core'; 
import { RouterModule, Routes } from '@angular/router'; 

import { SmileyFeedbackComponent } from '../smiley-feedback/smiley-feedback.component'; 
import { FeedbackFormComponent } from '../feedback-form/feedback-form.component'; 
import { ThankYouComponent } from '../thank-you/thank-you.component'; 

const routes: Routes = [ 
    { path: '', redirectTo: '/smiley', pathMatch: 'full' }, 
    { path: 'smiley', component: SmileyFeedbackComponent }, 
    { path: 'feedback', component: FeedbackFormComponent }, 
    { path: 'thank-you', component: ThankYouComponent } 
]; 

@NgModule({ 
    imports: [ 
    RouterModule.forRoot(routes) 
    ], 
    exports: [ RouterModule ], 
    declarations: [] 
}) 
export class AppRoutingModule { } 
+0

路由器正在做你的路線告訴它做的事情。如果你想回到根目錄,那麼你需要重定向。如果你這樣做,那麼你將如何擊中「反饋」路線? –

+0

@ChrisSharp,實際上我不需要任何人通過在瀏覽器網址中輸入路徑來點擊路線。下面的代碼由AJT_82做的伎倆。我是一個角色的新手。你能告訴我RouterModule和路由器的區別嗎?我所理解的是RouterModule就像一個路由器的構造函數,無論我需要做什麼路由操作,我都必須使用路由器。它是否正確? – simplelenz

回答

3

正如克里斯·夏普提到的,你的應用程序是做什麼它應該做的,路由到該URL所指向的地方,因爲你還沒有告訴它,否則。

你可以做什麼,是在你的app.component你可以在OnInit重定向到根。這意味着當應用程序(重新)初始化時,您將被重定向到根頁面。

export class AppComponent { 
    constructor(private router: Router) {} 

    ngOnInit() { 
    this.router.navigate(['']) 
    } 
} 
+0

@ JT_82,This Works。謝謝。你能簡單地告訴我RouterModule和路由器的區別嗎? – simplelenz

+0

那麼,使用RouterModule您可以爲您的應用提供路由,並且使用路由器可以實現實際的路由:) – Alex