关于嵌套路由,子路由生命周期先执行的问题
2021-12-24 本文已影响0人
弦生_a3a3
嵌套路由生命周期中子级请求先执行,父级请求后执行
1.检查父级路由生命周期中是否用了同步请求,子级路由是否用的异步方法走
2.检查</router-view>中是否没有加判断,等待父级路由生命周期走完再去走子路由,在router-view中加上v-if判断,父级生命周期执行完再渲染子路由
3.检查是否父级路由和子级路由生命周期中的请求都是异步方法,如果都是用异步,那么则是根据请求的响应速度来渲染当前数据,虽然不影响生命周期先后执行顺序但是会影响一系列操作(毕竟一般都是先执行完父级生命周期中的请求再去执行子级路由请求)
为什么一定要先执行父级路由再去执行子级
看需求而定,例如一登录进来,初次渲染首页,首页中包含公共嵌套路由,一般公共父级路由用于渲染左侧菜单栏和头部栏。要先在父级生命周期中,要先渲染父级左侧菜单信息,存储用户信息再vuex或者cookie,localStroage中等等。然后再去响应子级页面首页,更具用户渲染对应不同的信息。所以有时候,嵌套路由中,父子级生命周期请求执行顺序很重要!!