web-dev-qa-db-ja.com

Angular 5-ブラウザの更新時にホームページをホームページにリダイレクト

現在、次のようなルートからページを更新すると

http:// localhost:4200/feedback

同じルートに留まります。しかし、ルートをリダイレクトしたい

http:// localhost:42

同じルートを維持するために、リフレッシュを実装する方法を人々が尋ねているのを見ました。したがって、ブラウザの更新時にデフォルトのangularがホームページにリダイレクトされるはずです。私のangularデフォルトプロジェクトがそうしないのはなぜですか?

以下は私の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 { }
19
simplelenz

Chris Sharpが述べたように、あなたのアプリは、URLが指している場所にルーティングします。

できることは、app.componentOnInitでルートにリダイレクトできることです。これは、アプリが(再)初期化されると、ルートページにリダイレクトされることを意味します。

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

  ngOnInit() {
    this.router.navigate([''])
  }
}
41
AJT82

インポートルーター

import { Router } from '@angular/router';

コンストラクターでルーターを開始する

export class LoginComponent implements OnInit {
 constructor(private router:Router) {}
  loginCheck() {
    /*Your HTTP REQUEST HERE */
    this.router.navigate(['/*Your Path Here*/']) 
  }
}
7
Anandan K

angular 8のリロードページが必要な場合は、次の手順を実行してください。

<a href="/page">Go to page</a>