element ui+vue制作导航栏菜单(完整)

首先看路由 (我的vue文件是随便创建的不标准 注意了,这里只是为了让大家看一下路由)
因为内容部分以及头部部分都是基于主页面的,所以所有可用左侧导航的页面router配置我都放在了Home下面注册(也可能自己理解的不对 希望大家指正)

Home主要使用饿了么页面布局的第四个如下图: 大家有需要的可以自己选择这里都不过多解释了 以下就是Home页面 也是主页面
在这里插入图片描述
以下是左侧导航配置
在这里插入图片描述
最后呈现一下最终页面
在这里插入图片描述
当你点击二级菜单之后进行刷新 页面加载之后所选二级菜单依旧会高亮 这就是第一幅图中 :default-active="$route.path"的作用

再补充一点 当我重复点击选中的导航是报如下错误 我去找了一下原因应该是重复进入同一路由
在这里插入图片描述
解决方法:
为跳转错误的方法全局加上错误捕获。
const routerPush = VueRouter.prototype.push
VueRouter.prototype.push = function (location) {
return routerPush.call(this, location).catch(error => error)
}
以上代码在main.js,或者router/index.js 下执行,以及new VueRouter之前之后都一样。因为是重置的VueRouter原型对象上的push事件,给原型对象的push事件添加上了捕获异常,所以会通过原型链改变所有相关对象。

replace 方法重复跳转错误与上方类似,把push改成replace就好。

(最后一句是复制别人的 附上链接) ----->亲测有效

  • 7
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Element UI导航栏一个常用的组件,可以用于创建网站的导航菜单。在代码实现中,可以使用`<el-menu>`标签来创建导航栏,通过设置`default-active`属性来指定默认选中的菜单项,通过设置`mode`属性来指定导航栏的展示模式,可以是水平模式或垂直模式。可以使用`<el-menu-item>`标签来创建一级菜单项,通过设置`index`属性来指定菜单项的索引值,可以使用`<el-submenu>`标签来创建二级菜单项,通过设置`index`属性来指定菜单项的索引值,通过设置`slot="title"`来指定二级菜单项的标题。\[1\] 在导航菜单中使用`router`属性可以实现路由跳转。可以使用`<el-menu-item>`标签来创建导航菜单项,通过设置`index`属性来指定导航目的地址,路由匹配到的组件将渲染在`<router-view>`标签中。\[2\] 在定义路由的代码中,可以使用Vue Router来创建路由实例,通过设置`path`属性来指定路由的路径,通过设置`name`属性来指定路由的名称,通过设置`component`属性来指定路由对应的组件。\[3\] 以上是关于Element UI导航栏的一些基本用法和代码示例。 #### 引用[.reference_title] - *1* [Element -Ui之NavMenu导航栏](https://blog.csdn.net/m0_50007683/article/details/124561084)[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] - *2* *3* [Element UI样式修改之NavMenu导航菜单](https://blog.csdn.net/qq_42750982/article/details/123740807)[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 ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值