请稍等 ...
×

采纳答案成功!

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

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

1回答

扬_灵 2020-10-05 19:20:13

同学你好,这个渲染的过程是这样的首先从siderbar组件下的index.vue中将存储在vuex中的路由信息通过循环渲染的方式传递给了SidebarItem组件中,SidebarItem组件会先判断如果下面的这个条件满足就进行渲染,

v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"

    如果子路由的数量会超过两个,上面的条件就不满足,这时就会迭代调用SidebarItem组件进行渲染,如果不能解决你的问题,可以继续追问


0 回复 有任何疑惑可以回复我~
  • 提问者 五月一一 #1
    比如子路由的数量超过两个,这时候children还有一个children这个是怎么遍历的?
    回复 有任何疑惑可以回复我~ 2020-10-05 23:12:07
  • 扬_灵 回复 提问者 五月一一 #2
    如果子路由超过两个,会递归调用SidebarItem组件进行渲染,你可以看一下官方文档中的说明https://panjiachen.github.io/vue-element-admin-site/zh/guide/essentials/router-and-nav.html#%E4%BE%A7%E8%BE%B9%E6%A0%8F
    回复 有任何疑惑可以回复我~ 2020-10-06 19:26:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信