动态路由里,将component字符串改变为路由懒加载方法
一、import写法 报错
function loadPageByRoutes(str) { // 传入的str为 '@/views/Home.vue' 这种格式
return () => import(`${str}`) // 要报错
}
二、改为require写法,并返回一个resolve ,可行
function loadPageByRoutes(str) { // views文件夹下的Home组件,传入的格式为 'Home'
return function (resolve) {
require([`@/views/${str}.vue`], resolve)
}
}
三,完整方法

代码:
function loadPageByRoutes (str) {
return function (resolve) {
require([`@/views/${str}.vue`], resolve)
}
}
// 遍历后台传来的路由字符串,转换为组件对象
function filterAsyncRouter (asyncRouterMap) {
const accessedRouters = asyncRouterMap.filter(route => {
if (route.component) {
if (route.component === 'Layout') {
route.component = Layout
} else {
route.component = loadPageByRoutes(route.component)
}
}
if (route.children && route.children.length) {
route.children = filterAsyncRouter(route.children)
}
return true
})
return accessedRouters
}
路由返回格式:

这里注意根节点path 加 / ,子节点不加 /
具体动态路由实现参考:https://www.jianshu.com/p/4f2566b67989?from=singlemessage
动态路由里,将component字符串改变为路由懒加载方法的更多相关文章
- vue路由的异步加载(懒加载)方法
vue路由的异步加载(懒加载)方法. javascriptvue.jsvue-router 阅读约 2 分钟 vue本身不多介绍.直接说问题,因为vue的所有路由都是加载在一个app.js里的,如果 ...
- vue(组件、路由)懒加载
const Login = resolve => require(['@/components/Login'], resolve) //就不用import了 Vue.use(Router) le ...
- vue路由懒加载及组件懒加载
一.为什么要使用路由懒加载 为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题. 二.定义 懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载. 三.使用 常用的懒加载方式 ...
- Vue 路由懒加载, VueRouter一步完成Vue的路由懒加载 一行代码搞定懒加载
Vue Router路由配置中的component里面配置即可 1 // 路由懒加载的方式加载组件 2 3 component: () => import('@/views/Detail'), ...
- Vue-Router学习第二弹动态路由\懒加载\嵌套路由
在我们做项目时肯定会有出现动态路由: 举个栗子: 一个品种的商品页面会有同类不同样的商品就要在路由的后面加一个id: Vue的路由id是这样添加的: 两种动态路由 一种是params参数添加: 首先现 ...
- vue-router实现路由懒加载( 动态加载路由 )
三种方式第一种:vue异步组件技术 ==== 异步加载,vue-router配置路由 , 使用vue的异步组件技术 , 可以实现按需加载 .但是,这种情况下一个组件生成一个js文件.第二种:路由懒加载 ...
- vue进阶:vue-router之导航守卫、路由元信息、路由懒加载
1.导航被触发 2.在失活的组件里调用离开守卫:beforeRouteLeave —— 组件内守卫(离开组件). 3.调用全局的beforeEach守卫 —— 全局守卫(进入组件). 4.在重用组件里 ...
- vue2.x 路由懒加载 优化打包体积
当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的异步组 ...
- vue+webpack2实现路由的懒加载
当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的异步组 ...
- vue3 + vite实现异步组件和路由懒加载
在 Vue2 中,异步组件和路由懒加载处理使用 import 就可以很轻松实现.但是在Vue 3.x 中异步组件的使用与 Vue 2.x 完全不同了.本文就详细讲讲vue3中异步组件和路由懒加载的实现 ...
随机推荐
- vim 小记录
将str1批量替换成str2 , 特殊符号前用转译符 \ :%s/str1/str2/g
- Linux 在miniconda和anaconda同时安装时,卸载miniconda
1. 找到miniconda目录,删除. rm -rf miniconda3/ 2. 编辑bashrc sudo vim .bashrc setup路径改回anaconda3的,注释掉"&g ...
- 096_mulesoft with salesforce _01
https://docs.mulesoft.com/mule-runtime/3.5/connect-with-salesforce-example https://www.youtube.com/w ...
- 【Go】发送请求
发送post请求 reqMap := make(map[string]interface{}) reqMap["order_num"] = request.OutTradeNo r ...
- 简谈CPU峰值性能怎么计算[转载]
CPU峰值性能就是CPU运算能力满打满算最最理想情况下的性能,这只有理论意义,实际性能要以软件实测为准.有人问寡人峰值性能怎么算,这里就很简单地说两句.搞计算化学的一般只关注浮点性能,所以这里只提峰值 ...
- 4、Hadoop初识
- python_test_5001_Moudle_pandas
import pandas as pd import numpy as np from lib_001_decorator_log_funcname import decorator_log_func ...
- 可收集ALC问题[A non-collectible assembly may not reference a collectible assembly.]
ITask程序集在共享类库中定义,初衷是任务调度程序,创建新的可卸载ALC以供每一个任务运行,此时会出现两个问题: 任务调度程序加载了任务程序后,任务程序中的ITask类型和任务调度程序中的ITask ...
- 数据库常用sql
1.创建表 create table 表名( 字段名 类型 约束, 字段名 类型 约束 ... ) 如:create table students( id int unsigned primary k ...
- 使用python做基本的数据处理
使用python做基本的数据处理 1.常用的基本数据结构 元组.列表.字典.集合.常用的序列函数 1.1基本操作 1.1.1 元组:逗号分开的序列值. tup = tuple (4,5,6) tup ...