请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在created钩子函数和mounted钩子函数当中获取的数据是否有区别?

老师,为什么数据的获取不在 created 函数里面获取,而是要在 mounted 函数里面获取呢?在mounted当中获取,不是已经把dom节点渲染完成了吗?时机会不会太晚了?我试过在created当中获取数据也是一样可以获取到的。

正在回答 回答被采纳积分+3

1回答

Sam 2019-10-19 23:02:05

你好,具体的原理如下:

  • created 之前会完成 props、methods、data、computed 和 watch 五大属性的解析;

  • created 之后 mpvue 会初始化 App 和 Page 对象,并调用小程序的钩子函数(如 onShow、onReady 等),此时界面已完成渲染;

  • App 和 Page 对象初始化完毕后,mpvue 会调用 beforeMount 之后开始对状态的更新(如更新 data 中的值等);

  • 状态更新完毕后,mpvue 会调用 page.setData 对界面进行再次更新,之后 mpvue 会调用 mounted 钩子函数,此时小程序渲染完毕。

所以 created 之后调用接口通常不会有问题,但是最佳时机应该是 mounted,因为此时小程序已经完成全部的渲染工作。如果小程序渲染速度较慢,而 created 中接口已经返回数据并开始更新页面,是会引发报错的。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信