vue路由跳转新窗口
时间: 2023-09-03 08:14:49 浏览: 168
要在Vue路由中实现在新窗口中跳转,你可以使用`target="_blank"`属性来指定链接在新窗口中打开。下面是一个示例:
```vue
<template>
<div>
<router-link :to="{ path: '/new-page', query: { target: '_blank' } }">跳转新窗口</router-link>
</div>
</template>
```
在上面的示例中,我们使用`<router-link>`组件来创建一个链接,并通过`:to`属性指定要跳转到的路径。在这里,我们将`target`属性设置为`'_blank'`,这将告诉浏览器在新窗口中打开链接。你可以将`path`和`query`根据你的具体需求进行修改。
希望能帮到你!如果还有其他问题,请随时提问。
相关问题
vue路由跳转新页面打开
在Vue中实现路由跳转并打开新页面有几种方式可以选择。一种方式是使用声明式的<router-link>标签,通过设置target="_blank"属性来实现在新窗口中打开页面。例如:<router-link target="_blank" :to="{path:'/home';query:{id:'1'}}">打开新页面</router-link> [2。另一种方式是使用编程式的$router.push或$router.go方法,但是在Vue2.0之后,这种方式不再支持打开新窗口的属性。可以使用this.$router.resolve方法来获取要跳转的页面的路由信息,然后使用window.open方法在新窗口中打开该页面。例如:listPush(i) { let routeUrl = this.$router.resolve({ path: "/zjzbxq", query: { i: JSON.stringify(i) } }); window.open(routeUrl.href, '_blank') } [2。如果只是简单的页面跳转,可以使用this.$router.resolve方法获取目标页面的href,然后使用window.open方法在新窗口中打开该页面。例如:const { href } = this.$router.resolve({ name: "router-name", query: { id: 1 } }); window.open(href, '_blank'); [3。这些方法可以根据具体的需求选择使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Vue路由跳转打开一个新页面/窗口(还需要传参到新页面)](https://blog.csdn.net/m0_61676604/article/details/130962703)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [vue路由跳转打开新页面的方式---kalrry](https://blog.csdn.net/weixin_45406712/article/details/125151199)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [Vue路由跳转打开新窗口](https://blog.csdn.net/qq_45886144/article/details/130186782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
vue路由打开新窗口
在Vue中,你可以通过两种方式实现路由打开新窗口。第一种方式是使用标签实现,你可以在`<router-link>`标签中设置`tag="a"`和`target="_blank"`属性来实现新窗口打开。例如:
```html
<router-link tag="a" target="_blank" :to="{name:'homePage',query:{id:'Fate'}}">I'm Fate</router-link>
```
需要注意的是,只有在`tag="a"`模式下,`target="_blank"`属性才会生效。\[1\]
第二种方式是在函数中实现页面跳转。你可以使用`$router.resolve`方法来生成路由链接,并使用`window.open`方法来打开新窗口。例如:
```javascript
methods: {
linkTo() {
let query = { id: "Fate" };
let routeData = this.$router.resolve({ name: "searchGoods", query: query });
window.open(routeData.href, '_blank');
}
}
```
这样,在点击事件或者函数中调用`linkTo`方法即可实现路由打开新窗口。\[2\]
如果页面有多个跳转,你可以分别使用`$router.resolve`方法生成不同的路由链接,并使用`window.open`方法打开新窗口。例如:
```javascript
let routeOne = this.$router.resolve({ name: "router-one", query: { id: 1 } });
window.open(routeOne.href, '_blank');
let routeTwo = this.$router.resolve({ name: "router-two", query: { id: 1 } });
window.open(routeTwo.href, '_blank');
```
这样就可以实现多个路由的新窗口打开。\[3\]
#### 引用[.reference_title]
- *1* *2* [【Vue】路由打开新窗口](https://blog.csdn.net/qq_24744451/article/details/88994118)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Vue路由跳转打开新窗口](https://blog.csdn.net/qq_45886144/article/details/130186782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文