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/>'
})
上一篇:secureCRT保存屏幕输出内容


下一篇:javascript void函数