日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue根据菜单json数据动态按需加载路由Vue-router

發布時間:2023/12/6 vue 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue根据菜单json数据动态按需加载路由Vue-router 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

每個菜單項對應一個頁面組件,根據菜單項動態按需加載路由

路由配置的正確寫法:

/*router/index.js*/ import Vue from 'vue' import Router from 'vue-router' import url from './url' import store from '../store'Vue.use(Router)const router = new Router({// mode: 'history',routes: url,scrollBehavior (to, from, savedPosition) {return {x: 0,y: 0}} })router.beforeEach(({ meta, path, name }, from, next) => {let { auth = true } = metalet isAdmin = localStorage.getItem('admin')let isLogin = Boolean(isAdmin) // true已登錄, false未登錄if (auth && !isLogin && path !== '/login') {return next({ path: '/login' })}if (!auth && isLogin && path === '/login') {return next({ path: '/home' })}store.dispatch('CUR_MENU', name)next() })export default router 復制代碼/*router/url.js*/ import data from '../store/data.json' const Layout = () => import('@/pages/layout') const Login = () => import('@/pages/login') const NotFound = () => import('@/pages/notFound')function getChildrenPath () {let childrenPath = []for (let i in data) {let sub = data[i].subMenufor (let j in sub) {let component = () => import('@/pages' + sub[j].path + '/index.vue')const item = {path: sub[j].path,name: sub[j].name,component: component}childrenPath.push(item)}}return childrenPath }const url = [{path: '/',component: Layout,children: getChildrenPath() }, {path: '/login',meta: {auth: false},name: '登錄頁',component: Login }, {path: '*',name: '404頁',component: NotFound }]export default url 復制代碼

重點:let component = () => import('@/pages' + sub[j].path + '/index.vue')

動態路徑寫法,不能省略/index.vue

省略的話不會報錯,頁面加載也正常,但是會彈警告:

參考: vue-router無法實現按需加載動態組件,有什么替代方案可以解決這一需求呢?

轉載于:https://juejin.im/post/5a6a8f13518825732b1a0c9f

總結

以上是生活随笔為你收集整理的Vue根据菜单json数据动态按需加载路由Vue-router的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。