【vue路由跳转外部链接】

vue路由跳转外部链接

vue-router其实是将window.open方法重写了

所以你在里面使用:跳转的都是你当前url --------- 这就是单页面应用

<router-link>的to方法,
还是编程式导航this.$router.push 

所以解决方法也很简单:
1、如果你的项目不复杂,能改到router渲染,又没有一、二级路由、路由权限、动态路由这些问题,可以修改为的方式,跳转

a标签

2、如果你的项目比较复杂了,,我下面贴一个代码参考,不会可以联系vx:zkhh6666

可以直接使用路由拦截的方式

/**
 * @name 跳转外部链接
 * @param {*} to 路由对象的to,需要有meta的url
 * @returns 要啥returns
 * @author zhukun
 */
export const SkipExteriorUrl = function (to) {
    if (!to.meta.url) return
    let reg = /\http/
    if (reg.test(to.meta.url)) {
        let token = //你的token
        let newUrl = to.meta.url.slice(reg.exec(to.meta.url).index)//截取出现http后面的内容
        let rulesReg = /\/$/  //如果最后不存在/就主动加上
        if (rulesReg.test(newUrl)) {
            newUrl = newUrl + '?accessToken=' + token
        } else {
            newUrl = newUrl + '/?accessToken=' + token
        }
        window.location.href = newUrl  //核心用window.location.href暴力的跳
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值