请稍等 ...
×

采纳答案成功!

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

_route的更新和routerView中render方法执行的时机

老师,我这里有几个疑问

在我们queue队列执行完毕进行导航确认的时候。我们更新了_route,这个时候会进行_route的set通知组件渲染watcher从而实现页面渲染,这个逻辑没有错吧?但是按照课程来说。更新了_route会触发routerView的render。而render里面对_route进行了get所以会收集组件的依赖。这里我就懵逼了。更新_route触发set通知组件渲染watcher。但是这时候根本没有收集依赖。收集依赖是在routerView的render中执行的。而routerView中只是收集依赖缺没有派发更新。希望老师能帮我解惑这个流程


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

1回答

ustbhuangyi 2021-04-07 00:21:21

在 RouterView 组件渲染的时候会访问 $route, 这个时候就会访问 _route
https://img1.sycdn.imooc.com//szimg/606c8a7e09568d0217440296.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 城北丶 #1
    老师,我的意思是更新_route是在queue队列执行完成之后。这时候触发set。而routerView的render函数执行是在更新_route后。也就是说set派发先于get收集。那这个逻辑说不通啊。所以我就想问。set派发的是谁,routerView收集的又是谁
    回复 有任何疑惑可以回复我~ 2021-04-07 00:47:12
  • ustbhuangyi 回复 提问者 城北丶 #2
    RouterView 组件不是会先渲染吗,渲染的时候访问了 $route 不就触发了 get 收集了?
    回复 有任何疑惑可以回复我~ 2021-04-07 11:34:35
  • 提问者 城北丶 回复 ustbhuangyi #3
    那 routerView 的 render 执行是在confirmTransition成功的回调中对_route更新之后吗?
    回复 有任何疑惑可以回复我~ 2021-04-07 14:49:39
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号