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/>'
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM