vue

vue在created和mounted这两个生命周期中请求数据有什么区别呢?

发布于 2021-01-11 17:01:35
关注者
1
被浏览
1626
6 个回答
  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。
    1. created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态

    这是还没搞清楚同步和异步吧

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。
    1. created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态

    请求是异步的,怎么会影响页面的渲染呢

    请问要是请求存在很大的数据量,比如响应10几秒这种应该在哪里请求呢?

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。
    1. created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态

    请求是异步的,怎么会影响页面的渲染呢

    请问要是请求存在很大的数据量,比如响应10几秒这种应该在哪里请求呢?

    created 里面请求即可,请求响应时间长,应该由你的业务代码去处理这种异常,Vue 的框架层面不知道你的异步请求究竟什么时候结束,不可能等待你的请求回来再继续渲染。
    还有一点就是,如果在 mounted 中做一些同步的数据操作,因为此时 DOM 已经挂载完毕,更改数据会让会导致组件重复渲染一次,可以提前到 created 去做。

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    看实际情况,一般在 created(或beforeRouter) 里面就可以,如果涉及到需要页面加载完成之后的话就用 mounted。

    在created的时候,视图中的html并没有渲染出来,所以此时如果直接去操作html的dom节点,一定找不到相关的元素
    而在mounted中,由于此时html已经渲染出来了,所以可以直接操作dom节点,(此时document.getelementById 即可生效了)。

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。
    1. created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态

    请求是异步的,怎么会影响页面的渲染呢

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看