路由守卫
- 解决标题和路由跳转至顶部
routerConfig.js
export default function (router) {
router.beforeEach((to, from, next) => {
// chrome
document.body.scrollTop = 0
// firefox
document.documentElement.scrollTop = 0
document.title = to.meta.title
// safari
window.pageYOffset = 0
next()
})
}
main.js
import Vue from 'vue'
import router from './router'
import routerConfig from '../comm/router/config'
routerConfig(router)
重复路由报错处理
import Vue from 'vue'
import Router from 'vue-router'
//路由重复报错问题处理
const originalPush = Router.prototype.push
// 修改 原型对象中的push方法
Router.prototype.push = function push (location) {
return originalPush.call(this, location).catch(err=>err)
}