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');
解释:
-
router.push
: 这是 Vue Router 提供的用于在当前标签页中进行路由跳转的方法。 -
router.resolve
: 这个方法会返回一个包含href
等属性的对象,href
是解析后的完整 URL。 -
window.open
: 这是原生的 JavaScript 方法,用于在新标签页中打开指定的 URL。'_blank'
参数表示在新标签页中打开