不理解(测试结果也对不上,结果好像还是有值,不为空)SidebarItem.vue中hasOneShowingChild方法中浅拷贝的路由path赋值空字符串

来源:8-11 sidebar-item 组件源码分析

慕容6332229

2023-07-20

不理解(测试结果也对不上)SidebarItem.vue中hasOneShowingChild方法中浅拷贝的路由path赋值空字符串,

关键是测试结果也对不上,实际给一个一级路由(一级菜单),没有孩子节点(路由)的,

走了如看下代码(看下方代码),走了该代码,我打印输出了this.onlyOneChild,其中的路由path的确为空,

说明覆盖了...parent中的path,

但实际单击该一级菜单,还是显示并渲染了parent中原有的path路由,即测试结果path是有值的,

请问该值是从哪里来的?

// Show parent if there are no child router to display

if (showingChildren.length === 0) {

  this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }

  return true

}

Tip:

请问该path赋空有何用,测试实际不会为空
也看了老师文档中的描述,但是这和实际测试结果不符。
因为没有孩子节点(路由)的一级路由,也是走该代码的,代码中打印该值是空,但点击菜单,实际由路由path,且会渲染出来。所以很不理解这种情形。
请老师解惑。


写回答

1回答

扬_灵

2023-07-22

同学你好,这里的逻辑是判断子路由就显示父路由,这里的path值是父路由的内容,你说的测试方法可以详细说一下吗?

0
1
慕容6332229
你好,其实我提供了我代码的git呢,就是想你需要看看我的代码,问的时候我都尽量的会提问详细。 该小结的内容,就有对应的代码写在哪个文件,该小结的测试代码就是在路由文件的。 大概知道你意思了,但实际就是从测试代码中,path的值不知从何而来,打印了,明明是空的。 这样吧,我晚点贴出来测试代码。现在在上班忙。
2023-07-26
共1条回复

Vue Element+Node.js开发企业通用管理后台系统

基于Element的中后台课程,一套中小型企业通用的后台管理系统

2829 学习 · 1714 问题

查看课程