首先确定点击触发的函数是 push 还是 replace,然后重写其对应的方法
push
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const originalReplace = Router.prototype.replace
Router.prototype.push = function push(location) {
return originalReplace.call(this, location).catch(err => err)
}
let router = new Router()
replace
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const originalReplace = Router.prototype.replace
Router.prototype.replace = function replace(location) {
return originalReplace.call(this, location).catch(err => err)
}
let router = new Router()