首先 Vue 的生命周期,我们应该了解它们的钩子函数被调用的时机,根据时机以及我们页面的渲染场景来判断使用哪个
new Vue({
el: '#vueApp',
// 初始化 vue 内部事件之前
beforeCreate: function () {},
// 初始化 vue 内部事件之后
created: function () {},
// 挂载开始之前被调用 render 函数首次被调用
beforeMount: function () {},
// el 被新创建 vm.$el 替换且挂载到实例上之后
mounted: function () {}
})
beforeCreate 和 created 都是早期钩子,是我们获取数据的较好时机,如果获取的数据与绑定事件有关,可以放到 created 里面,无关的话,都可以,在服务器端的应用场景中, beforeCreate 可能会用到的多一些。
beforeMount 和 mounted 多用于页面组件上有新的用户交互,触发新的请求时候使用,比如在 mounted 里手动去触发滚动条的位置,而 beforeMount 里面,可以做比如通过域名识别来获取微信认证信息的操作。
有时候一个场景下放到多个钩子函数中都可以