在做項目的時候,遇到需要做路由跳轉,但當用戶輸入錯誤url地址,或是其它非法url路由地址,我們或許會想到跳轉至404頁面。不管你有沒有寫一個404頁面,當出現未匹配路由都需重新指定頁面跳轉。可能大家首先想到會是路由重定向,redirect來解決這個問題。但實際上通過redirect是沒辦法更好解決這個問題的。
看代碼紅色部分
import Vue from 'vue' import Router from 'vue-router' import Hello from '@/components/Hello' Vue.use(Router) let routes = [ { path: '/', name: 'Login', component: Login }, { path: '/login', name: 'Login', component: Login }, { path: '/index', name: 'Index', component: Hello, } ]; const router = new Router({ history: true, routes : routes });
重點如下:
router.beforeEach((to, from, next) => {
if (to.matched.length ===0) { //如果未匹配到路由
from.name ? next({ name:from.name }) : next('/'); //如果上級也未匹配到路由則跳轉登錄頁面,如果上級能匹配到則轉上級路由
} else {
next(); //如果匹配到正確跳轉
}
});
以上這篇解決vue2.0路由跳轉未匹配相應用路由避免出現空白頁面的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com