使用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' 参数表示在新标签页中打开

相关推荐
Sept9401 分钟前
详解实现属性的全面拦截
前端
墨渊君2 分钟前
2025 年: 一半无业游民、一半外包牛马
前端·年终总结
借个火er2 分钟前
从零搭建 Uniapp 企业级项目模板
前端
阿民_armin4 分钟前
移动端长列表「返回原位置」的完整实践
前端·javascript·vue.js
Arnbit1on4 分钟前
使用docxtemplater进行Word文档的自动填充
javascript
FanetheDivine5 分钟前
defineModel的行为与文档不一致
vue.js
谜亚星9 分钟前
SVG学习(五)
前端·svg
WindStormrage9 分钟前
FormData 传递 JSON 数据的问题解决
前端
拖拉斯旋风10 分钟前
CSS Modules:现代前端组件化样式的安全边界
前端
张元清10 分钟前
告别 Promise.all 的依赖困境:better-all 如何优雅管理异步任务
前端·javascript·面试