beforeRouteEnter与mouted怎么选呢?

57 阅读1分钟

今天遇到一个问题,我想要拿到route里面的query传参,之前在取parmas的时候放在了beforeRouteEnter()路由守卫进行了处理,然后想当然的将获取query的操作放在了beforeRouteEnter()中,但是需求要求同时更改子组件内的某个data,并且执行相对应的方法,发现哦吼,拿不到vm实例,因为还没有挂载。算是踩了个小坑,浅浅的记录一下。 而且如果放在mouted里面去获取refs的时候,如果相对应的组件还没有挂载或者说有vif控制的话,需要考虑使用this.refs的时候,如果相对应的组件还没有挂载或者说有v-if控制的话,需要考虑使用this.nextTick()进行Dom渲染后的处理,如果有v-if的话可以考虑v-show。