杂谈-vue-钩子顺序和数据异步请求

vue生命周期钩子函数,作者就没有设计成阻塞。但是为了实现上一个钩子的异步请求回调成功之前不允许下一个钩子的需求的话,就做不到了。

问题相关segmentfault

所以目前有两种实现方式:

  1. vi-if先禁止渲染,直到异步回来赋值之后才允许渲染

  2. 同方法1,在入口js里,先异步请求,拿到数据后才允许new Vue({render})

  3. 放弃组件内路由守卫next()来控制,思路来源掘金

    补充:beforeRouteEnter的函数体中是访问不到当前组件的上下文的,需要在回调参参数next(这是个函数引用)中,使用next这个函数的回调参数vm(next(vm => {}))中的vm才能访问到当前组件的上下文;beforeRouterEnter的阻塞作用基本就废掉了

    二次补充:或者在next之前把数据存在localStorage里,next之后在create钩子里拿。结论是绕远了,更不如直接用v-if控制。


   转载规则


《杂谈-vue-钩子顺序和数据异步请求》 Bryan Who 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
vscode 调教 vscode 调教
开坑 比如 文件格式模版 比如 快捷键 设置 command+K + command+S 比如 神器插件 所有的默认配置项中文描述 vscode 开启对 webpack alias(文件别名) 引入的智能提示 jsconfig.json
2019-12-12
下一篇 
  目录