异步请求数据,但是生命周期函数也是异步的,怎么才能保证渲染之前就能拿到数据呢?
7 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
你的要求可以这样理解?
我在 beforeCreate 里请求一个API,之后就不希望 VUE 继续,直到数据回来后再执行 VUE 的生命周期?
如果是这样的,那办不到。
简单的变通方法,可以使用楼上的 v-if 思路。
另外,也是官方可以做到的,可以这样。
在路由跳转到此之前请求数据,请求到执行 next() 操作后,再开始执行 VUE 的生命周期。
资料:在导航完成前获取数据
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
哔哔one
TA贡献1854条经验 获得超8个赞
慕村9548890
TA贡献1884条经验 获得超4个赞
慕桂英546537
TA贡献1848条经验 获得超10个赞
这种应该用路由的钩子
beforeRouterEnter(to,from,next) {
doAjax.then(res => {
// 获取数据
next(vm => {
// 对数据进行操作
})
})
}
添加回答
举报
0/150
提交
取消