Vue: NavigationDuplicated

Posted aguncn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue: NavigationDuplicated相关的知识,希望对你有一定的参考价值。

难点一个一个解决,现在遇到的错误如下:

Navigating to current location ("/login") is not allowed

网上也有两大解决办法,

一种是重写push或是降低版本

https://blog.csdn.net/wumingid/article/details/103412014

https://blog.csdn.net/weixin_43202608/article/details/98884620

const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}

第二种写正规点,将 promise正规点处理完全。

https://blog.csdn.net/gxdvip/article/details/101016946

this.$router.push(route).catch(err => {
    console.log(‘输出报错‘,err)
})

 

        instance.interceptors.request.use(
            config => {
                let token = Cookies.get(‘token‘)
                if (token) {
                    config.headers.token = token
                } else {
                    router.push(‘/login‘).catch(error => {
                        console.log(‘错误: ‘, error)
                    })
                }
                return config
            },
            error => {
                console.log(‘request: ‘, error)
                if (error.code === ‘ECONNABORTED‘ && error.message.indexOf(‘timeout‘) !== -1) {
                    console.log(‘timeout请求超时‘)
                }
                const errorInfo = error.response
                console.log(errorInfo)
                if (errorInfo) {
                    error = errorInfo.data
                    const errorStatus = errorInfo.status
                    router.push({
                        path: ‘/error/${errorStatus}‘
                    }).catch(error => {
                        console.log(‘错误: ‘, error)
                    })
                }
                return Promise.reject(error)
            }
        )

 

技术图片

以上是关于Vue: NavigationDuplicated的主要内容,如果未能解决你的问题,请参考以下文章

Vue-router 报NavigationDuplicated的可能解决方案

Vue-router 报NavigationDuplicated的可能解决方案

vue router 报错: Uncaught (in promise) NavigationDuplicated {_name:""NavigationDuplicated&qu

Vue: NavigationDuplicated

VueRouter路由跳转报错:vue-router.esm.js?fe87:2100 Uncaught (in promise) NavigationDuplicated

VueRouter路由跳转报错:vue-router.esm.js?fe87:2100 Uncaught (in promise) NavigationDuplicated