element-ui 路由动态加载功能

这篇具有很好参考价值的文章主要介绍了element-ui 路由动态加载功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一步 自定义默认的静态路由像登陆和首页这些一般开放的页面,主要代码如下:

	const router = new Router({
	  routes: [{
	    path: "/login/index",
	    component: () => import("../components/page/login/index.vue"),
	    meta: {
	      title: "登录",
	      keepAlive: true
	    }
	  }, {
	    path: "/",
	    redirect: "/index",
	    component: () => import("../components/page/index/index.vue"),
	    meta: {
	      title: "php平台开发"
	    },
	    children: [{
	      path: "/index",
	      component: () => import("../components/page/index/index.vue"),
	      name: "Home",
	      meta: {
	        title: "首页",
	        keepAlive: true
	      }
	    }]
	  }
	  ]
	});

第二步 在登录的时候从登陆接口获取的路由菜单数据保存到本地的localstorage里面

localStorage.setItem('adminRoutes', JSON.stringify(adminRoutes));    //adminRoutes是从登陆接口成功返回的路由菜单tree数据

第三步 在路由的文件中获取第二步保存的路由菜单数据动态添加路由

let adminRoutes = JSON.parse(localStorage.getItem('adminRoutes1'));
let route_data = [{
  path: "/login/index",
  component: () => import("../components/page/login/index.vue"),
  meta: {
    title: "登录",
    keepAlive: true
  }
}, {
  path: "/",
  redirect: "/index",
  component: () => import("../components/page/index/index.vue"),
  meta: {
    title: "广告投放平台"
  },
  children: [{
    path: "/index",
    component: () => import("../components/page/index/index.vue"),
    name: "Home",
    meta: {
      title: "首页",
      keepAlive: true
    }
  }]
}];


if(adminRoutes){
   adminRoutes.forEach(function (item, index) {
     let menu = item;
     let child_data = [];
     item.menu.forEach(function (item, index) {
       let children = item.children;
       children.forEach(function (item,index){
           let child_item =  {
                 path:item.path,
                 redirect:item.redirect,
                 component:() => import(`${item.component}`),
                 meta: {
                   title: "item.title",
                   keepAlive: true,
                   activeMenu: item.path
                 }
           };
           child_data.push(child_item)
       });
     });
     let topMenuRoute =  {
         path:item.rPath,
         redirect:item.redirect,
         component:() => import(`${item.component}`),
         children:child_data
     };
     route_data.push(topMenuRoute)
   })
}

坑一: component拼接问题


item1.component = '/user/index';
let child_item =  {
          path:item1.path,
          component: () => import(`../components/page/system${item1.component}.vue`),
          meta: {
            title: `${item1.title}`,
            keepAlive: true,
          }
};

//如上拼接写法没问题


item1.component = '/user/index/system';
let child_item =  {
          path:item1.path,
          component: () => import(`../components/page${item1.component}.vue`),
          meta: {
            title: `${item1.title}`,
            keepAlive: true,
          }
};

//这种写法就会出问题,不知道问题在哪,神奇




文章来源地址https://www.toymoban.com/news/detail-637871.html

到了这里,关于element-ui 路由动态加载功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element-ui 自定义loading加载样式

    element-ui 中的 loading 加载功能,默认是全屏加载效果, 设置局部,需要自定义样式,自定义的方法如下:

    2024年02月11日
    浏览(48)
  • element-ui select下拉框滚动加载更多

    当下拉框数据过多时,加载会非常慢,所以使用分页去显示,通过监听滚动事件来达到分页效果。 我是使用Vue自定义指令来做的。 一、首先在src下创建一个js文件,完成自定义指令的编写 有没有大神告诉我,自定义指令为啥在同一个页面不能使用多次? 二、在main.js中引入进来

    2024年02月16日
    浏览(48)
  • vue+element-ui 实现下拉框滚动加载

    该功能是由 自定义滚动指令 结合下拉框 :remote-method 远程搜索 实现的 开启远程搜索 参考官方文档 绑定自定义指令 v-el-select-loadmore=“loadmore”

    2024年02月14日
    浏览(60)
  • Element-ui 路由导航

    1.router数组 2.下载插件(解决div的bug) 3.创建sidebar-item 4.引用组件

    2024年02月12日
    浏览(48)
  • element-ui 动态表单

    背景:朋友入职新公司,做项目重构,根据后端返回表单内容,动态生成表单,于是自己实现了下,哪里写的不好,欢迎各位提建议: 因为开关和多选框默认值是非空字符串,所以在created生命周期单独处理了下

    2024年02月11日
    浏览(84)
  • vue+element-UI实现跟随滚动条加载表格数据

    el-table当数据量大的时候,实现滚动到底部后加载数据,直接上js代码,有其他需求请各自更改  第一步、在data中定义两个数组 第二步、在数据发生改变的方法中先循环存放一部分数据用于页面显示 第三步、在mounted监听滚动事件

    2024年02月16日
    浏览(56)
  • vue element-ui (可编辑)table加载缓慢问题

    公司最近开了个需求会,要求做一个可编辑的table的表格,并且要求该表格添加权限,点击可编辑,时间段跳转(选择时间,跳转到时间当前位置),无分页(要求一页解决),有选中框,有批量处理的功能,input添加校验功能,小图标展示,编辑后局部刷新页面: 1. 管理员

    2024年02月15日
    浏览(40)
  • [element-ui] el-tree 懒加载load

    懒加载:点击节点时才进行该层数据的获取。 注意:使用了懒加载之后,一般情况下就可以不用绑定:data。 懒加载—由于在点击节点时才进行该层数据的获取,默认情况下 Tree 无法预知某个节点是否为叶子节点,所以会为每个节点添加一个下拉按钮,如果节点没有下层数据,

    2024年02月11日
    浏览(63)
  • vue element-ui Loading加载事件的使用以及自定义Loading加载动画

     elemen-ui官方使用 loading加载事件属性解释 element-loading-text 在绑定了 v-loading 指令的元素上添加 element-loading-text 属性,其值会被渲染为加载文案,并显示在加载图标的下方 element-loading-spinner 和 element-loading-background 属性分别用来设定图标类名和背景色值。 作为小白,这次主要

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包