采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,为什么数据的获取不在 created 函数里面获取,而是要在 mounted 函数里面获取呢?在mounted当中获取,不是已经把dom节点渲染完成了吗?时机会不会太晚了?我试过在created当中获取数据也是一样可以获取到的。
你好,具体的原理如下:
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 中接口已经返回数据并开始更新页面,是会引发报错的。
登录后可查看更多问答,登录/注册
mpvue,一套代码搞定多个平台小程序,前端更易上手
1.3k 4
5.9k 18
1.1k 16
1.3k 14
1.5k 14