私はrouter.beforeEach
グローバルフックを使用していないページに404.htmlにリダイレクトしようとしているページが見つかりませんにリダイレクト:ヴュー・ルータは、多くの成功なし(<code>Vue</code>と<code>Vue-Router</code> 1.0を使用して)、(404)
router.beforeEach(function (transition) {
if (transition.to.path === '/*') {
window.location.href = '/404.html'
} else {
transition.next()
}
});
これは、存在しないルートが挿入されたときにページ404.html
にリダイレクトされません。空のフラグメントを与えるだけです。 some-site.com/*をハードコードすると、some-site.com/404.htmlにリダイレクトされます。
ここでは、私が見落としていることは明らかですが、私は理解できません何を出すか。
私が探していますが、新たなページではなく、簡単なこれらのスニペットのようにrouter.redirect
を使用することによって達成することができ、別のルート、へのリダイレクトにリダイレクトであることに注意してください:
router.redirect({
'*': '404'
})
私router.map
に、私は次のように持つことができに対し:
router.map({
'/404': {
name: '404'
component: {
template: '<p>Page Not Found</p>'
}
}
})
解決策はまだありませんが、Vueルータで処理されていない「」タグを使用してルートにナビゲートしようとするとどうなりますか?アプリからナビゲートしていますか? – Mani
v-link = "{name: 'home'の代わりにhref =" http://some-site.com/home "のようにhrefまたはv-linkを使用するかどうかに関係なく、 }」)。それがあなたが求めているのかどうか分からないのですか? – pierrebonbon
私は、 'があっても、アプリケーションから完全に抜け出す方法を考えていました。とにかくあなたの質問とは無関係でした。私は以下の答えとして私の思考を掲示して、それを試してみてください、それが動作するかどうか私にお知らせください! –
Mani