使用vue的路由打开新标签页跳转

vue的路由只支持在本标签页跳转,要用vue的路由打开新标签页需要做处理再用window.open方法打开:

javascript 复制代码
// 在当前标签页中跳转
router.push({
    path: '/new-page',
    query: {
        id: id.toString(),
    }
});
javascript 复制代码
// 在新标签页中打开
const routeData = router.resolve({
    path: '/new-page',
    query: {
        id: id.toString(),
    }
});
window.open(routeData.href, '_blank');

解释:

  1. router.push: 这是 Vue Router 提供的用于在当前标签页中进行路由跳转的方法。

  2. router.resolve : 这个方法会返回一个包含 href 等属性的对象,href 是解析后的完整 URL。

  3. window.open : 这是原生的 JavaScript 方法,用于在新标签页中打开指定的 URL。'_blank' 参数表示在新标签页中打开

相关推荐
颜正义几秒前
作为前端你还不会 Playwright 进行单元测试吗?
前端·测试
孟陬1 分钟前
国外技术周刊 #3:“最差程序员”带动高效团队、不写代码的创业导师如何毁掉创新…
前端·后端·设计模式
张一凡933 分钟前
easy-model -- "小而美"的React状态管理方案
前端·javascript·react.js
前端Hardy4 分钟前
纯 HTML/CSS/JS 实现的高颜值登录页,还会眨眼睛!少女心爆棚!
前端·javascript·vue.js
includei5 分钟前
【JavaScript】华为机试_HJ20_密码验证合格程序
开发语言·javascript·华为
猪八宅百炼成仙37 分钟前
解决Vue项目中scrollIntoView导致的布局异常问题
前端
miss1 小时前
Vue2 → Vue3 深度对比:8 大核心优化,性能提升 2 倍
前端·vue.js·架构
沫离痕1 小时前
AI机器人客服-Dify接入
开发语言·javascript·ecmascript
绝世唐门三哥1 小时前
React---数组浅拷贝之slice的使用
前端·reactjs
傅里叶1 小时前
Flutter开发的app,实现Google 登录
前端·flutter