1. ホーム
  2. javascript

[解決済み] Angular 2 パスが存在しない場合に404や他のパスにリダイレクトする方法 [重複]について

2022-05-13 07:02:39

質問

404をリダイレクトしようとしたところ / が存在しない場合、他のパスにリダイレクトしようとしていました。

私は研究を試してみましたangular 1のためのいくつかのメソッドがありますが、angular 2ではありません。

以下は私のコードです。

@RouteConfig([
{
    path: '/news',
    name: 'HackerList',
    component: HackerListComponent,
    useAsDefault: true
},
{
    path: '/news/page/:page',
    name: 'TopStoriesPage',
    component: HackerListComponent
},
{
    path: '/comments/:id',
    name: 'CommentPage',
    component: HackerCommentComponent
}
])

というわけで、例えば /news/page/ を実行すると、空のページが返されます。このようなケースをどのように処理するのですか?

どのように解決するのですか?

バージョン2.2.2以降の場合

バージョン v2.2.2 以降の場合。 という名前 プロパティはもはや存在しないので、ルートを定義するのに使うべきではありません。 パス の代わりに 名前 先頭のスラッシュがない はパス上で必要です。この場合 path: '404' の代わりに path: '/404' :

 {path: '404', component: NotFoundComponent},
 {path: '**', redirectTo: '/404'}

v2.2.2より古いバージョンの場合

を使うことができます。 {path: '/*path', redirectTo: ['redirectPathName']} :

{path: '/home/...', name: 'Home', component: HomeComponent}
{path: '/', redirectTo: ['Home']},
{path: '/user/...', name: 'User', component: UserComponent},
{path: '/404', name: 'NotFound', component: NotFoundComponent},

{path: '/*path', redirectTo: ['NotFound']}

にリダイレクトします。 NotFound というパスにリダイレクトします。