Fork me on GitHub

Vue 获取初始化数据是放在created还是mounted

官方文档:


也就是说Vue实例中的data和methods已经可以使用了。但是还没有挂载到页面上。可以在created里面去后端获取数据。

 

当进入mounted这个生命周期函数。此时页面已经渲染出来,可以进行dom操作。

总而言之。created生命周期函数,可以去后端异步获取数据,并保存到data里面。
mounted的话,如果需要在页面上操作dom,就要在这个函数执行。但是注意 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,那就需要使用到vm.$nextTick

Vue中在哪个生命周期内调用异步请求?(直观)


一般来说,可以在,created,mounted中都可以发送数据请求,但是,大部分时候,会在created发送请求。
Created的使用场景:如果页面首次渲染的就来自后端数据。因为,此时data已经挂载到vue实例了。
在 created(如果希望首次选的数据来自于后端,就在此处发请求)(只发了异步请求,渲染是在后端响应之后才进行的)、beforeMount、mounted(在mounted中发请求会进行二次渲染) 这三个钩子函数中进行调用。
因为在这三个钩子函数中,data 已经创建,可以将服务端端返回的数据进行赋值。但是最常用的是在 created 钩子函数中调用异步请求,因为在 created 钩子函数中调用异步请求

有两个优点:
第一点:能更快获取到服务端数据,减少页面 loading 时间;
第二点:放在 created 中有助于一致性,因为ssr 不支持 beforeMount 、mounted 钩子函数。

posted @ 2021-04-22 19:32  Kaicy  阅读(4075)  评论(0编辑  收藏  举报