vue在created和mounted这两个生命周期中请求数据有什么区别呢?
-
- created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态
这是还没搞清楚同步和异步吧
-
- created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态
请求是异步的,怎么会影响页面的渲染呢
请问要是请求存在很大的数据量,比如响应10几秒这种应该在哪里请求呢?
-
- created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态
请求是异步的,怎么会影响页面的渲染呢
请问要是请求存在很大的数据量,比如响应10几秒这种应该在哪里请求呢?
created 里面请求即可,请求响应时间长,应该由你的业务代码去处理这种异常,Vue 的框架层面不知道你的异步请求究竟什么时候结束,不可能等待你的请求回来再继续渲染。
还有一点就是,如果在 mounted 中做一些同步的数据操作,因为此时 DOM 已经挂载完毕,更改数据会让会导致组件重复渲染一次,可以提前到 created 去做。 -
看实际情况,一般在 created(或beforeRouter) 里面就可以,如果涉及到需要页面加载完成之后的话就用 mounted。
在created的时候,视图中的html并没有渲染出来,所以此时如果直接去操作html的dom节点,一定找不到相关的元素
而在mounted中,由于此时html已经渲染出来了,所以可以直接操作dom节点,(此时document.getelementById 即可生效了)。 -
- created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态
请求是异步的,怎么会影响页面的渲染呢