最近在学习
Vue3的相关语法,在阅读官方文档的时候觉得官方文档的
菜单栏比较简洁美观,于是想着能不能自己
实现一个类似的多级
菜单。代码大部分由AI所做(感谢活在这个人工智能时代)。
主要就是
路由设计以及
菜单设计在 中进行
路由配置,配置的信息示例如下:
各参数解释如下:
菜单由两个组件
实现:、,同时使用
递归思想
实现多级
菜单渲染。
递归子
菜单组件,负责:显示的的子
菜单,主
菜单 组件中调用,如果有子
菜单,则显示子
菜单下拉框,效果如下图(具体显示位置有css控制):
组件主要代码如下:
Advanced
Menu 组件
<
el-menu router :default
-openeds="['1','0']">
<
el-sub
menu v
-for="(item,index) in $
router.options
.routes" :index="index+''">
<template slot="title"><i class="
el-icon
-s
ell"></i>{{item
.name}}</template>
公司项目做整理需要将前端vue项目菜单修改成动态菜单+动态路由。
1.动态路由
了解需求后查看了package.json使用的是Vue.js 官方的路由管理器:vue-router。
1. 查看vue-router官方文档发现vue-router有 添加新路由规则的函数,函数有三个:
router.addRoutes(routes: Ar...
我们在搭建Web的后台管理系统时,会选择 ElementUI 进行快速搭建,但是在某些场景下,单纯的使用组件是不能满足要求的。
因为需求是在不断增加,不断变化的,如果像 ElementUI 给的示例去维护后台管理系统的菜单栏的话,代码会非常臃肿,维护起来也不是很方便:
菜单是一个树形结构,VueRouter的配置项 routes 也是树形结构,每一个具体的路由都对应着一个页面,因此可以利用 routes 来配合 ElementUI菜单组件 动态生成菜单。
大体思路如下:
(1)拿到routes: this
如果我们采用
ElementUI 库
中的 el-menu 组件来
实现的话,效果会很不错,但是代码的画风可能是这样的:
<
el-menu>
<
el-sub
menu index="1">
<
el-menu-item index="1
-1"></
el-menu-item>
<
el-menu-item index="i
-2"&
一,情景再现
做前端开发的同学,大多都遇到过这种需求:页面菜单根据用户权限动态生成,一个常见的解决方案是:
前端初始化的时候,只挂载不需要权限路由,如登陆,注册等页面路由,然后等用户登录之后,后端返回当前用户的权限表,前端根据这个权限表遍历前端路由表,动态生成用户权限路由,然后使用vue-router提供的addRoutes,将权限路由表动态添加到路由实例中,整个过程大致如下:
import Vue from 'vue'
import VueRouter from 'vue-router'
import s
org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘POST‘ not supported
25263
Java基础10——扩展赋值运算符、三元运算符及运算符小结(本文为个人学习笔记,内容整理自哔哩哔哩UP主【遇见狂神说】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)