男神,请回答!

来源:11-18 路径切换(11)

鸡肋2016

2018-11-02

例子:
组件表:根Vue-子组件A-子子组件-子子子组件
路由表:"/"(子组件A)-"/a"(子子组件)-"/a/b"(子子子组件)

去找配对的渲染组件。
1、去取当前路由路径的matched(当前路由routeRecord往上查找到根路由形成的数组列表)作为列表list。
当我们把路由从/a切换到/a/b,当前路由为“/a/b”对应routeRecord开始往上遍历,这里为取到list列表为[routeRecordA,routeRecord子,routeRecord子子,routeRecord子子子]。
2、往上查找直到根Vue,depth记录当前的深度。
depth=0,往上查找,碰到1次,depth=1。
matched[depth]才是我们要配对的路由?那不是组件A吗?这里错在哪里啦??
男神,请指正!!

写回答

2回答

ustbhuangyi

2018-11-03

建议你先仔细看看这篇文档:https://ustbhuangyi.github.io/vue-analysis/vue-router/transition-to.html#%E7%BB%84%E4%BB%B6

0
0

鸡肋2016

提问者

2018-11-02

老师,还有一个问题!
当没有<router-view>时候,只有<router-link>直接跳转路由,是什么样的渲染逻辑?
点击<router-link>,触发transitionTo。router.current = 新路径Route对象,触发set函数派发更新。

这里它是怎么找到要渲染的组件的?直接就是  新路径Route对象的component属性值吗?


0
1
qq_飞越疯人院_1
router-view里render理,get的时候不是收集么
2021-01-31
共1条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程