From 811d6e2a97c195a37cbac5c4c67cb1beece7b285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E7=82=8E=E6=9E=97?= <1028579551@qq.com> Date: Sun, 14 May 2023 14:15:51 +0000 Subject: [PATCH] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 钟炎林 <1028579551@qq.com> --- ...66\350\217\234\345\215\225\346\240\217.md" | 173 ++++++++++++++++++ .../20230509-Image.md" | 4 + .../20230511-\350\267\257\347\224\261.md" | 10 + ...50\347\232\204\346\225\260\347\273\204.md" | 70 +++++++ 4 files changed, 257 insertions(+) create mode 100644 "25\351\222\237\347\202\216\346\236\227/20230508-\345\233\276\346\240\207\346\227\213\350\275\254\346\224\266\350\217\234\345\215\225\346\240\217.md" create mode 100644 "25\351\222\237\347\202\216\346\236\227/20230509-Image.md" create mode 100644 "25\351\222\237\347\202\216\346\236\227/20230511-\350\267\257\347\224\261.md" create mode 100644 "25\351\222\237\347\202\216\346\236\227/20230512-\346\212\212\350\267\257\347\224\261\347\232\204\346\225\260\347\273\204\350\275\254\346\215\242\346\210\220\350\217\234\345\215\225\347\224\250\347\232\204\346\225\260\347\273\204.md" diff --git "a/25\351\222\237\347\202\216\346\236\227/20230508-\345\233\276\346\240\207\346\227\213\350\275\254\346\224\266\350\217\234\345\215\225\346\240\217.md" "b/25\351\222\237\347\202\216\346\236\227/20230508-\345\233\276\346\240\207\346\227\213\350\275\254\346\224\266\350\217\234\345\215\225\346\240\217.md" new file mode 100644 index 0000000..b4134c6 --- /dev/null +++ "b/25\351\222\237\347\202\216\346\236\227/20230508-\345\233\276\346\240\207\346\227\213\350\275\254\346\224\266\350\217\234\345\215\225\346\240\217.md" @@ -0,0 +1,173 @@ +```vue + + + + +``` \ No newline at end of file diff --git "a/25\351\222\237\347\202\216\346\236\227/20230509-Image.md" "b/25\351\222\237\347\202\216\346\236\227/20230509-Image.md" new file mode 100644 index 0000000..09fd965 --- /dev/null +++ "b/25\351\222\237\347\202\216\346\236\227/20230509-Image.md" @@ -0,0 +1,4 @@ +# Image +``` + +``` \ No newline at end of file diff --git "a/25\351\222\237\347\202\216\346\236\227/20230511-\350\267\257\347\224\261.md" "b/25\351\222\237\347\202\216\346\236\227/20230511-\350\267\257\347\224\261.md" new file mode 100644 index 0000000..789f362 --- /dev/null +++ "b/25\351\222\237\347\202\216\346\236\227/20230511-\350\267\257\347\224\261.md" @@ -0,0 +1,10 @@ +1. 懒加载 +```js +import Index from './components/index.vue' + +// 这个Index等于 +()=>import('./components/index.vue') + +``` +2. menu的router属性 +![show](./img/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202023-05-14%20210849.png) \ No newline at end of file diff --git "a/25\351\222\237\347\202\216\346\236\227/20230512-\346\212\212\350\267\257\347\224\261\347\232\204\346\225\260\347\273\204\350\275\254\346\215\242\346\210\220\350\217\234\345\215\225\347\224\250\347\232\204\346\225\260\347\273\204.md" "b/25\351\222\237\347\202\216\346\236\227/20230512-\346\212\212\350\267\257\347\224\261\347\232\204\346\225\260\347\273\204\350\275\254\346\215\242\346\210\220\350\217\234\345\215\225\347\224\250\347\232\204\346\225\260\347\273\204.md" new file mode 100644 index 0000000..e00ea30 --- /dev/null +++ "b/25\351\222\237\347\202\216\346\236\227/20230512-\346\212\212\350\267\257\347\224\261\347\232\204\346\225\260\347\273\204\350\275\254\346\215\242\346\210\220\350\217\234\345\215\225\347\224\250\347\232\204\346\225\260\347\273\204.md" @@ -0,0 +1,70 @@ +```vue +function convertPath(arr, parentPath) { + // 定义一个空数组 + let list = []; + + // 处理第一个路由 + arr.forEach(item => { + let tmp = { + path: item.path, + meta: item.meta ? item.meta : { icon: 'setting', title: '不知道的标题' } + } + // console.log(parentPath); + // 就是当传入的路径path不为空时,就将其叠加到 + if (parentPath && tmp.path) { + // console.log('999'); + tmp.path = parentPath + '/' + tmp.path + } + + // 当有下级节点时,递归调用convertPath函数,传入下级路由(是个数组),并且传入当前路由的路径 + if (item.children && item.children.length > 0) { + let children = convertPath(item.children, item.path) + if (children.length > 0) { + tmp.children = children + } + } + + + + // 将处理好的路由插入到空数组中 + list.push(tmp) + }) + + return list; +} + +function processHidden(arr) { + let list = []; + arr.forEach(item => { + let obj = '' + // 特殊处理,指当前菜单项标识隐藏的时候,则将其下级菜单项的第一个,提取为显示的菜单 + if (item.meta && item.meta.hidden && item.children && item.children.length > 0) { + let children = item.children[0] + obj = children + } else { + obj = item + } + + // 再对可能path为空的情况下处理下下 + if (!obj.path) { + obj.path = '/' + } + list.push(obj) + }) + + return list; +} + +// 将导入进来的路由,转换成菜单数据 +const menus = computed(() => { + //1、将导入的路由数据转换一下,以使下级path带上上级path,以便组成完成的路由路径 + let list = convertPath(routes, '') + // console.log(list); + + let menuList = processHidden(list) + + // console.log(menuList); + //2、返回处理好的菜单栏数据 + return menuList +}) +``` \ No newline at end of file -- Gitee