vue自定义错误界面
方案一:
当输入错误链接错误或者找不到页面,在router里可以定义一个404页面,具体可以这样做:在routes里面这样写:
{
path:'*',
component:error,
name:'error',
meta:{
title:'页面没找到'
}
}
注意:一定要写在routes的最后面!
方案二
在入口js文件使用了axios的拦截器
import Vue from 'vue' import Vuex from 'vuex' import axios from 'axios' import router from './router' import App from './App' Vue.use(Vuex); Vue.prototype.$http = axios; Vue.prototype.$http.defaults.withCredentials=true; Vue.prototype.$http.interceptors.response.use(response => { console.log(response) if (response.data.resCode== "1000") { localStorage.clear(); alert(response.data.resMsg) router.push({ name:'login' }) } return response; }, error => { if (error && error.response) { switch (error.response.status) { case 404: router.push({name:'error-404'}); // error.message = '请求出错(404)' break; case 500: router.push({ name:'error-500'}); // error.message = '服务器错误(500)'; break; default: error.message = `连接出错(${error.response.status})!`; } } return Promise.reject(error); }); /** * 日志输出开关 */ Vue.config.productionTip = true /* eslint-disable no-new */ router.beforeEach((to,from,next)=>{ window.document.title=to.meta.title; next(); }); router.afterEach((to,form,next)=>{window.scrollTo(0,0)}); new Vue({ el: '#app', router, components: { App }, template: '<App/>' })