vue 動態路由配置

router.beforeEach((to, from, next) => {    if (localStorage.getItem("userRole") !== 'operator') {        if (router.options.routes.length < 14) {            let auditRoute = {                path: '/audit',                component: Layout,                name: 'Audit',                children: [                    {                        path: 'index',                        name: 'AuditIndex',                        component: () => import('./views/audit/index'),                        meta: {title: '內容審覈', icon: 'eye'}                    },                    {                        path: 'detail/:type/:id',                        name: 'AuditDetail',                        component: () => import('./views/audit/detail/index'),                        meta: { title: '內容詳情' },                        hidden: true                    }                ]            };            router.options.routes.push(auditRoute);            router.options.routes.push({ path: '*', redirect: '/404', hidden: true });            let lastRoutes = [];            lastRoutes.push(auditRoute);            lastRoutes.push({ path: '*', redirect: '/404', hidden: true });            router.addRoutes(lastRoutes);        }        checkToken();        if(!to.name && to.path){            next({path:to.path})        }else{            next()        }    } else {        if (router.options.routes.length !== 12) {            router.options.routes.pop();            router.options.routes.pop();            router.options.routes.push({ path: '*', redirect: '/404', hidden: true });            let lastRoutes = [];            lastRoutes.push({path: '*', redirect: '/404', hidden: true });            router.addRoutes(lastRoutes);        }        checkToken();        next()    }});
相關文章
相關標籤/搜索