vue 重复点击菜单,路由重复报错
生活随笔
收集整理的這篇文章主要介紹了
vue 重复点击菜单,路由重复报错
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
報(bào)錯(cuò)信息
vue-router在3.0版本以上時(shí),重復(fù)點(diǎn)菜單,控制臺(tái)會(huì)報(bào)錯(cuò),雖然不影響使用,但是最好處理下這個(gè)問題,不然也可能會(huì)影響調(diào)試其他問題。
報(bào)錯(cuò)原因
vue-router在3.0版本以上時(shí) ,回調(diào)形式改成了promise api,返回的是promise,如果沒有捕獲到錯(cuò)誤,控制臺(tái)始終會(huì)出現(xiàn)如上圖的報(bào)錯(cuò)
node_module/vue-router/dist/vue-router.js 搜VueRouter.prototype.push
解決方法
1.降低vue-router的版本
npm i vue-router@3.0 -S2.在vue.use(Router)使用路由插件之前插入如下代碼
//獲取原型對(duì)象上的push函數(shù) const originalPush = Router.prototype.push //修改原型對(duì)象中的push方法 Router.prototype.push = function push (location) {return originalPush.call(this, location).catch(err => err) }3.捕獲異常
// 捕獲router.push異常 this.$router.push(route).catch(err => {console.log('輸出報(bào)錯(cuò)',err)4.補(bǔ)齊router第三個(gè)參數(shù)
// 補(bǔ)齊router.push()的第三個(gè)參數(shù) this.$router.push(route, () => {}, (e) => {console.log('輸出報(bào)錯(cuò)',e) })總結(jié)
以上是生活随笔為你收集整理的vue 重复点击菜单,路由重复报错的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 11 WiFi开启流程
- 下一篇: tuxedo错误码6_TUXEDO错误解