您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

基于iview-ui的导航栏路径配置(代码示例)

2024/3/19 3:46:04发布21次查看
本篇文章给大家带来的内容是关于基于iview-ui的导航栏路径配置(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
上家公司的后台管理系统都是刷表刷出来的,所用很久很久没写后台管理系统了。换了工作后总算要开始捣腾router了,很久没用都快忘光了,所以把一些通用的模块记录一下,也分享给需要的朋友们。
经过//router.jslet routes = [    {        path: '/',        redirect: '/admin',    },    {        path: '/login',        name: 'login',        meta: {title: '登录'},        component: () => import('./components/login.vue')    },    {        path: '/admin',        name: 'admin',        meta: {title: '主页'},        component: () => import('./components/admin.vue'),        children: [            {                path: 'operation',                name: 'operation',                meta: {title: '运营管理'},                component: () => import('./components/admin/operation.vue')            },            {                path: 'order',                name: 'order',                meta: {title: '订单中心'},                redirect: 'order/index',                component: () => import('./components/admin/order.vue'),                children: [                    {                        path: 'index',                        name: 'index',                        meta: {title: ''},                        component: () => import('./components/admin/ordercenter.vue')                    },                    {                        path: 'detail',                        name: 'detail',                        meta: {title: '订单详情'},                        component: () => import('./components/admin/orderdetail.vue')                    },                ]            },        ]    },]export default routes
这个是我部分的router路径配置表
 /*面包屑路径处理*/    eve_breadcrumbitem_change(){        var list = this.$route.fullpath.split('/')//list[0]:是空格        this.breadcrumbitem = []        function fn(obj, arr, index,self) {            if (obj.hasownproperty('children')&&obj['children'].length>0) {                for (let one of obj.children) {                    if (one.name != 'index' && one.name == arr[index]) {                        self.breadcrumbitem.push({'title': one.meta.title, 'path': one.path})                        return one.hasownproperty('children')&&one['children'].length>0?fn(one,arr,index+1,self):false                    }                }            }        }        for(let one of this.$router.options.routes){            if(one.hasownproperty('name')&&one.name == list[1]){                this.breadcrumbitem.push({'title': one.meta.title, 'path': one.path})                fn(one,list,2,this)            }        }    }
这个是就是本文的重点,其实也简单,就是递归了下路径名重新组装了下数据给面包屑传过去
watch: {    '$route'(to, from) {        this.eve_breadcrumbitem_change()    }},...mounted() {    this.eve_breadcrumbitem_change()},
使用也简单,无非watch检测下路径变化,避免刷新页面时没路径,在mounted里再调用一下。
结果结果嘛,自然就解决问题。不过路径的配置可能会和大家的不同,我喜欢在分组下默认弄个index路径,我觉得这样结构比较好,这里大家注意下。
以上就是基于iview-ui的导航栏路径配置(代码示例)的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product