Vue常规后台系统,路由懒加载实现基于菜单数据并解耦
路由依赖菜单
场景:文件名与路由组件名完全一致(随便大小写均可)
菜单使用一套,路由又存在一套,这样就很不舒服,于是做了如下处理:
尝试不用懒加载发现有难度,使用懒加载就很轻松了
data.js
export default [{
title: '财务',
subs: [
{
title: '提现账单',
path: 'withdraw',
},
]
},
{
title: '项目',
subs: [{
title: '云端工作',
path: 'cloud_job',
},
{
title: '工猫结算订单',
path: 'gongmall',
}]
},
{
title: '用户与认证',
subs: [{
title: '云端开发者认证表',
path: 'cloud_developer',
}]
}]
router.js
import Main from './index'
import menus from './components/menu/data'
import Error from './components/404'
const children = []
menus.forEach(menu => menu.subs.forEach(({ path }) => children.push({
path,
name: path,
component: () => import(`./components/${path}`)
})))
children.push({
path: '*',
name: '404',
component: Error
})
children[0].alias = '/'
export default {
path: '/main',
name: 'main',
component: Main,
children,
}
这是某模块的独立路由。
Vue常规后台系统,路由懒加载实现基于菜单数据并解耦的更多相关文章
- vue(18)路由懒加载
什么是路由懒加载 官方的解释: 当打包构建应用时,JavaScript 包会变得非常大,影响页面加载. 如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更 ...
- Vue.js笔记 — vue-router路由懒加载
用vue.js写单页面应用时,会出现打包后的JavaScript包非常大,影响页面加载,我们可以利用路由的懒加载去优化这个问题,当我们用到某个路由后,才去加载对应的组件,这样就会更加高效,实现代码如下 ...
- vue项目优化之路由懒加载
const login = () =>import('@/views/login'); export default new Router({ routes:[ { path:'/login', ...
- Vue结合webpack实现路由懒加载和分类打包
https://blog.csdn.net/weixin_39205240/article/details/80742723
- 【巷子】---vue路由懒加载---【vue】
一.懒加载 也叫延迟加载或者按需加载,即在需要的时候进行加载, 二.为什么要使用懒加载 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要 ...
- vue路由懒加载及组件懒加载
一.为什么要使用路由懒加载 为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题. 二.定义 懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载. 三.使用 常用的懒加载方式 ...
- vue-router路由懒加载(解决vue项目首次加载慢)
懒加载:----------------------------------------------------? 也叫延迟加载,即在需要的时候进行加载,随用随载. 为什么需要懒加载? 像vue这种单 ...
- vue项目性能优化(路由懒加载、gzip加速、cdn加速)
前端工程性能优化一说意义深远悠长,本章主要介绍除了一些基础优化外如何实行路由懒加载.Gzip加速.CDN加速,让网页飞的快一些. 基础优化 老生常谈的一些: 不要在模板中写复杂的表达式 慎用watch ...
- vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、mockjs用法、路由懒加载三种方式
不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p> ...
随机推荐
- python语言学习--2
第三天1. python代码缩进规则:具有相同缩进的代码被视为代码块,4个空格, 不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误. 2.list:[...] 用(名称任意 ...
- [20181116]18c DML 日志优化.txt
[20181116]18c DML 日志优化.txt 1.环境:xxxxxxxx> select banner_full from v$version;BANNER_FULL---------- ...
- [20181015]12C SQL Translation Framework.txt
[20181015]12C SQL Translation Framework.txt --//12c提供一个dba改写sql语句的可能性,实际上10g,11g之前也有一个包DBMS_ADVANCED ...
- 洗礼灵魂,修炼python(79)--全栈项目实战篇(7)—— 多级目录菜单之地址管理系统升级版
要求: 1.在上一篇的地址管理系统的基础上做升级改动 2.添加增删改的功能 3.尽量的贴近生活常识中的地址管理 分析: 需求不用多说了,干就完了 相关文件源码地址:github 这次由于要有增删改的操 ...
- Winform调用webapi
/// <summary> /// 调用api返回json /// </summary> /// <param name="url">api地址 ...
- MyBatis:参数传递 [转]
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...
- Git&GitHub-进阶教程
目录 1. 远程仓库-GitHub 1.1 本地电脑如何关联GitHub? 1.2. 创建并操控远程库GitHub (1) 把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库. ...
- ES5-ES6-ES7_数值的扩展
二进制与八进制数值表示法: 二进制用0b, 八进制用0o console.log(0b1010) console.log(0o56) Number.isFinite(i) 判断是否是有限大的数 con ...
- Java 8 新特性:5-Supplier、IntSupplier、BinaryOperator接口
(原) 这个接口很简单,里面只有一个抽象方法,没有default和静态方法. /* * Copyright (c) 2012, 2013, Oracle and/or its affiliates. ...
- SQL INNER JOIN 关键字
SQL INNER JOIN 关键字 在表中存在至少一个匹配时,INNER JOIN 关键字返回行. INNER JOIN 关键字语法 SELECT column_name(s) FROM table ...