时间:2021-05-26
根据公司项目的需求,使用的是element-ui的nav-menu组件实现动态渲染左侧导航条的功能,这里我只写到了四级菜单。
代码部分:
<el-menu class='el-menu-vertical-demo' :router='true' v-for='(item, index) in navMenu' :key='index'> <el-submenu v-if='item.childs' :index='item.name' :route = 'item.value' class='edit_wrapper' @mouseover.native="overShow" @mouseout.native="outHide"> <template slot='title'> <i :class='item.icon'></i> <span slot='title'>{{item.alias}}</span> <i class='iconfont icon-shenpi edit' v-show='haha'></i> </template> <el-submenu v-if='item1.childs' v-for= '(item1, index) in item.childs' :key='item1.name' :index='item1.name' :route='item1.value'> <template slot='title'> <i :class='item1.icon'></i> <span slot='title'>{{item1.alias}}</span> </template> <el-submenu v-for= '(item2, index) in item1.childs' :key='item2.name' v-if='item2.childs' :index='item2.name' :route = 'item2.value'> <template slot='title'> <i :class='item2.icon'></i> <span slot='title'>{{item2.alias}}</span> </template> <el-submenu v-for= '(item3, index) in item2.childs' :key='item3.name' v-if='item3.childs' ::index='item3.name' :route = 'item3.value'> <template slot='title'> <i :class='item3.icon'></i> <span slot='title'>{{item3.alias}}</span> </template> <el-menu-item v-for= '(item4, index) in item3.childs' :key='item3.name' v-if='item4.childs == null' :index='item4.name' :route = 'item4.value'> <span>{{item4.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-for= '(item3, index) in item2.childs' :key='item3.name' v-if='item3.childs == null' :index='item3.name' :route = 'item3.value'> <span>{{item3.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-for= '(item2, index) in item1.childs' :key='item2.name' v-if='item2.childs == null' :index='item2.name' :route = 'item2.value'> <span>{{item2.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-for= '(item1, index) in item.childs' :key='item1.name' v-if='item1.childs == null' :index='item1.name' :route = 'item1.value'> <span>{{item1.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-if='item.childs == null' :index='item.name' :route = 'item.value'> <i :class='item.icon'></i> <span slot='title'>{{item.alias}}</span> </el-menu-item> </el-menu>数据部分:
navMenu: [{ name: 'serveList', icon: 'iconfont icon-shezhi', alias: '金融服务目录', value: '', childs: [ { name: 'channelManage', icon: '', alias: '渠道管理', value: '', childs: [ { name: 'channelManage_in', icon: '', alias: '渠道内部管理', value: '', childs: [ { name: 'financial', icon: '', alias: '金融类', value: '/serveManage/financial', }, { name: 'no_financial', icon: '', alias: '非金融类', value: '/serveManage/no_financial', }, { name: 'query_class', icon: '', alias: '查询类', value: '/serveManage/query_class', }, { name: 'square_class', icon: '', alias: '冲正类', value: '/serveManage/square_class', }, ] }, { name: 'process_services', icon: '', alias: '流程服务', value: '/serveManage/process_services' }, { name: 'cooperation_services', icon: '', alias: '合作方服务', value: '/serveManage/cooperation_services' }, ] }, { name: 'saveManage', icon: '', alias: '风险管理', value: '/serveManage/saveManage' }, { name: 'manageDecision', icon: '', alias: '管理决策', value: '/serveManage/manageDecision' }, { name: 'businessSupport', icon: '', alias: '业务支持', value: '/serveManage/businessSupport' }, { name: 'technicalSupport', icon: '', alias: '技术支持', value: '/serveManage/technicalSupport' } ] }, { name: 'serveRelation', icon: 'iconfont icon-shezhi', alias: '服务血缘关系', value: '/serveManage/serveRelation' }]注意:因为含有childs的目录是没有路由的,所以可以把它的value值设为空。
效果展示:
这样我们就可以在其他页面引入该组件就可以了。
以上这篇vue导航栏部分的动态渲染实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Vue实现导航栏菜单的具体代码,供大家参考,具体内容如下这里是刚学习vue的时候,没有用vue的任何UI组件库写的导航栏菜单。menu.ht
本文实例为大家分享了vue+iview动态渲染表格(iview插件table),供大家参考,具体内容如下效果图(表格头部和表格主体都是动态渲染)重要代码expo
本文实例为大家分享了vue侧边栏导航的具体代码,供大家参考,具体内容如下最终效果点击下一个导航,上一个导航自动收回实现代码1.下载vue-routernpmin
当我们在服务端渲染Vue应用时,无论服务器执行多少次渲染,大部分VNode渲染出的字符串是不变的,它们有一些来自于模板的静态html,另一些则来自模板动态渲染的
Vue导航栏用Vue写手机端的项目,经常会写底部导航栏,我这里总结一套比较方便实用的底部导航栏方法,并且可以解决浏览器刷新选中状态消失的问题。也可以选择自适应屏