vue+el-menu设置了router之后如何跳转到外部链接
时间: 2023-12-10 20:03:20 浏览: 307
如果你使用 `vue-router` 将 `el-menu` 和路由关联起来,而你想要实现在菜单中跳转到外部链接的功能,可以通过以下步骤实现:
1. 首先,在菜单项中设置一个自定义属性,用于存储外部链接。例如:
```html
<el-menu-item index="1" :href="externalLink">
<i class="el-icon-menu"></i>
<span>外部链接</span>
</el-menu-item>
```
在这个例子中,`externalLink` 是一个存储外部链接地址的变量。
2. 接着,在路由的 `beforeEach` 钩子函数中检查当前要跳转的路由是否是外部链接,如果是,则使用 `window.open()` 方法打开链接,并阻止路由跳转。例如:
```javascript
router.beforeEach((to, from, next) => {
const externalLink = to.meta.externalLink;
if (externalLink) {
window.open(externalLink, '_blank');
next(false);
} else {
next();
}
});
```
在这个例子中,我们在路由的元信息中添加了一个 `externalLink` 属性,用于标识该路由是否是外部链接。如果是,则使用 `window.open()` 方法打开链接,并阻止路由跳转。
3. 最后,在菜单项的 `href` 属性中设置一个占位符,例如:
```html
<el-menu-item index="1" :href="'external-link'">
<i class="el-icon-menu"></i>
<span>外部链接</span>
</el-menu-item>
```
在这个例子中,我们将 `href` 属性设置为一个占位符 `'external-link'`,用于在路由中标识该菜单项是一个外部链接。在路由跳转时,我们可以根据该占位符来判断是否需要打开外部链接。
通过以上三个步骤,就可以实现在 `el-menu` 中跳转到外部链接的功能。
阅读全文