请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

generateMenus方法

图片描述
第一个if 好理解就是把像login这种去除掉
第二个 没有meta 有children 是什么情况 能对应路由表举个例子吗 此时的result里面到底是什么样的结构数据 看了好多遍 一直看不懂

正在回答 回答被采纳积分+3

2回答

Sunday 2023-02-26 09:52:34

https://img1.sycdn.imooc.com//szimg/63fabb5309bed5de21780438.jpg

这个是正常打印出来的数据,可以看下课程源代码

0 回复 有任何疑惑可以回复我~
Sunday 2023-02-21 22:20:55

你好

https://img1.sycdn.imooc.com//szimg/63f4d33d09bbcce019761404.jpg

这个就属于没有 meta 但是又 children 的情况

0 回复 有任何疑惑可以回复我~
  • 提问者 Dell_students #1
    此时foreach结束   result里面是啥东西啊   往里面push 啥呢
    回复 有任何疑惑可以回复我~ 2023-02-25 15:00:40
  • Sunday 回复 提问者 Dell_students #2
    result 里面是递归出来的节点数据
    回复 有任何疑惑可以回复我~ 2023-02-25 16:29:41
  • 提问者 Dell_students 回复 Sunday #3
    export function generateMenus(routes, basePath = '') {
      // 最终需要返回的值
      const result = []
      // 遍历路由表
      routes.forEach((item) => {
        // 不存在 children && 不存在 meta 则被认为是 《不需要处理的数据》, 直接 return
        if (isNull(item.meta) && isNull(item.children)) return
        // 存在 children 不存在 meta,则被认为是《父节点》,需要进行解析,所以进入迭代。
        if (isNull(item.meta) && !isNull(item.children)) {
          result.push(...generateMenus(item.children))
          return
        }
      })
      console.log(result, 'result')
      return result
    }
        我反复打印了  是一个空数组
    回复 有任何疑惑可以回复我~ 2023-02-26 08:08:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信