vue2 路由 新窗口打开
时间: 2023-08-24 21:08:16 浏览: 47
要在Vue 2中实现在新窗口打开路由,你可以使用`<router-link>`标签和`target="_blank"`属性。首先,确保你已经在Vue项目中安装并配置了Vue Router。
然后,在你的模板中,使用`<router-link>`来创建一个链接,并添加`target="_blank"`属性,如下所示:
```html
<router-link to="/your-route" target="_blank">打开新窗口</router-link>
```
将`to`属性的值替换为你想要在新窗口中打开的路由路径。
当你点击链接时,路由将在一个新的浏览器窗口或选项卡中打开。请注意,这个方法在大多数现代浏览器中有效,但是在一些旧版本的浏览器中可能不起作用。
相关问题
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 ]
vue改变路由地址同时打开新窗口
如果你想在Vue中改变路由地址的同时在新窗口中打开链接,你可以使用Vue Router和`window.open()`方法来实现。
首先,确保你已经安装了Vue Router并进行了相应的配置。然后,你可以在点击事件处理程序中使用`$router.push()`方法来改变路由地址,并在相同的处理程序中使用`window.open()`方法打开新窗口。
下面是一个示例代码:
```html
<template>
<div>
<button @click="openNewWindow">打开链接</button>
</div>
</template>
<script>
export default {
methods: {
openNewWindow() {
this.$router.push('/new-route'); // 改变路由地址
window.open('https://www.example.com', '_blank'); // 在新窗口中打开链接
}
}
}
</script>
```
在上面的示例中,我们在点击事件处理程序中调用`this.$router.push('/new-route')`来改变路由地址为'/new-route'。然后,我们使用`window.open()`方法打开新窗口,并将链接"https://www.example.com"作为参数传递给它。`'_blank'`参数表示在新窗口中打开链接。
这样,当用户点击按钮时,Vue会改变路由地址并打开新的链接在新窗口中显示。