vue-router 使用 name 跳轉時404失敗、無效

我設置的 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' })
  }
});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章