vue如何通过路由转向的方式,新窗口打开指定页面
时间: 2023-02-10 08:26:07 浏览: 68
在 Vue 中,如果想要在新窗口打开指定页面,可以使用 JavaScript 的 window.open() 方法。
你可以在 Vue 的路由转向中使用这个方法。例如,在组件的 methods 选项中添加一个新方法:
```
methods: {
openNewWindow() {
window.open('http://www.example.com');
}
}
```
然后,你就可以在 Vue 的路由转向中使用这个方法。例如:
```
<template>
<div>
<button @click="openNewWindow">Open New Window</button>
</div>
</template>
<script>
export default {
methods: {
openNewWindow() {
window.open('http://www.example.com');
}
}
};
</script>
```
当用户点击这个按钮时,会打开一个新窗口,并跳转到指定的页面。
你也可以在 window.open() 方法中传入额外的参数,来控制新窗口的相关属性。例如:
```
window.open('http://www.example.com', '_blank', 'height=500,width=500');
```
这样会打开一个高度为 500 像素,宽度为 500 像素的新窗口。
相关问题
vue2 路由 新窗口打开
要在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 ]