我設置的 404頁面如下設置
1、我使用 name 匹配 跳轉 一個不存在的路由時,並沒有進入404頁面
this.$router.push({'name':'xxx'})
我把404 的 name改爲 ‘*’也沒有效果,可能是 只匹配 path,而name並沒有使用
2、所以沒有找到的路由的情況下,使用name跳轉,會導致不觸發404
所以推薦 路由跳轉時,使用path進行跳轉
this.$router.push({'path':'xxx'})
3、如果確實 要使用 name 或path兩種情形進行跳轉,可以在路由守衛 beforeEach 進行設置
Routes.beforeEach((to, from, next) => {
if (to.matched.length !== 0) {
next()
} else {
next({ path: '/404' })
}
});