Vue ajax请求放在哪个生命周期中?
Opened this issue · 2 comments
Cosen95 commented
Vue ajax请求放在哪个生命周期中?
Cosen95 commented
- 在
created
的时候,视图中的dom
并没有渲染出来,所以此时如果直接去操作dom
节点,无法找到相关的元素 - 在
mounted
中,由于此时dom
已经渲染出来了,所以可以直接操作dom
节点
一般情况下都放到 mounted
中,保证逻辑的统一性,因为生命周期是同步执行的, ajax
是异步执行的。
服务端渲染不支持
mounted
方法,所以在服务端渲染的情况下统一放到created
中
aigouzz commented
其实最好还是放在created的时候请求数据,请求完成之后把数据渲染到vnode中,然后mounted的时候只需要在渲染一次页面,放在mounted中会在请求数据之前先渲染一遍页面,然后vue检测到数据变化之后又重新渲染了部分变化的vnode,相比之下前者开销会更小