<router-link to="/mail/index" @click="openNewPage"> <el-dropdown-item>邮件中心</el-dropdown-item> </router-link> methods: { openNewPage() { window.open('/mail/index', '_blank'); } } 这个代码不会在浏览器中打开一个新的页面,怎么回事
时间: 2024-04-14 19:27:14 浏览: 97
详谈vue中router-link和传统a链接的区别
5星 · 资源好评率100%
抱歉,我之前的回答有误。在Vue中,`<router-link>`组件是用来进行路由导航的,不支持直接设置`target="_blank"`属性来在新标签页中打开链接。
如果你想在点击邮件中心时在新标签页中打开页面,可以使用`<a>`标签并结合`router.push()`方法来实现。
以下是修改后的示例代码:
```html
<a href="/mail/index" target="_blank" @click.prevent="openNewPage">
<el-dropdown-item>邮件中心</el-dropdown-item>
</a>
```
```javascript
methods: {
openNewPage() {
this.$router.push('/mail/index');
}
}
```
在上面的代码中,我们使用`<a>`标签来包装邮件中心的内容,并设置`target="_blank"`属性来在新标签页中打开链接。同时,我们绑定了点击事件`@click.prevent`,并在`openNewPage`方法中使用`this.$router.push()`来进行路由跳转。
这样,当用户点击邮件中心时,链接将在新的标签页中打开。请确保路由路径`/mail/index`是正确的。
阅读全文