Vue 的常见报错
1.vue路由报错Navigating to current location (“/xxx“) is not allowed
vue多次点击同一个路由 Uncaught (in promise)
**原因 **
在 Vue-Router3.1.0+,此时如果支持 Promise,router.push或 router.replace将返回一个 Promise。当我们在脚手架中使用this.$router.replace(path)进行路由跳转的时候,返回一个Promise对象,发生未捕获的异常。解决方法
对Vue-Router原型链上的router.push或 router.replace方法进行重写
进入index.js
import Router from 'vue-router'
router.push( )重写:
const originalPush = Router.prototype.push Router.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) }
router.place( )重写:
const originalReplace = Router.prototype.replace originalReplace.replace = function replace(location) { return originalReplace.call(this, location).catch(err => err) }