1
SPAでVueおよびVue Routerを使用しています。ビューコンポーネントでは、リポジトリにリソースを照会します。リソースが見つからない場合は、URLを保持しながら404ページを表示します。VueおよびVue Router SPAで、見つからないリソースに対して404を表示
I.e. /foo/non-existant-id
にアクセスすると、foo
リソースの表示ページの代わりに404ページが表示されます。明確にするために
はここに私のルータのマップです:
router.map({
'/foo/:id': {name: 'foo-show', component: FooShowPage},
// Utilities
'/': { name: 'home', component: HomePage },
'*': { name: '404', component: NotFoundPage }
})
そして、私のFooShowPage
に、私は次のようにします。
ready() {
// fetch the foo from the repo (app.foos)
app.foos.fetchById(this.$route.params.id).then(foo => {
this.foo = foo
}).catch(e => {
// foo is not found show a 404 page
// using this.$route.router.go({name: '404'}) does not work as route is a wildcard
console.warn(e)
})
}
は、基本的にそれはおそらくNotFoundPage
とルータビューでFooShowPage
を置き換える伴うだろう、ブラウザーの履歴を変更しないで404ページにリダイレクトすることができます。
にリダイレクトされますか?私は現在、これを探しています。バックエンドAPIから結果を取得するまで、どのIDが有効であるかわからないので、提供された回答は私のために働いていません。 –