前端vue-element-template(二)动态路由

2021-07-05  本文已影响0人  江江简书

这个章节知识点不多,但是很绕,而且我觉得不是最优雅的写法,如果有更好的方法请给我留言

参考文章

https://www.cnblogs.com/langhaoabcd/p/11346227.html

简单分析

通过permission.js开始获取权限管理

function toTreeData(data,pid){
  function tree(id) {
    let arr = []
    data.filter(item => {
      return item.id_parentauth === id;
    }).forEach(item => {
      // console.log(item.href)
      let jsonpath = {
        path: item.href,
        name: item.name,
        meta:{title:item.name, icon: item.icon},
        children: tree(item.id_auth)
      }
      if(!Boolean(item.id_parentauth)){
        jsonpath.component = Layout
        // jsonpath.redirect = '/example/table'
      }else {
        //解决import无法导入的问题
        jsonpath.component =  (resolve) => require([`@/views/${item.href}/index`], resolve)
      }
      arr.push(jsonpath)
    })
    return arr
  }
  return tree(pid) // 第一级节点的父id,是null或者0,视情况传入
}

最后一步获取vuex的menu并放入addRouters

上一篇 下一篇

猜你喜欢

热点阅读