最近在开发小程序,尝试性地使用了一下mpvue框架。
mpvue 是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。
mpvue同时维护了Vue和小程序的两套机制,因此需要对两套机制进行关联。这里主要对mpvue的生命周期来进行一些梳理。
微信小程序生命周期
首先我们需要了解,微信小程序的生命周期:
App对象,主要有onLaunch, onShow和onHide。
Page对象,主要有onLoad, onShow, onReady, onHide和onUnload。
Vue到mpvue
mpvue的出现使得我们可以用书写Vue实例的方式去声明这两种对象,并使得Vue实例兼容小程序的生命周期。
Vue的生命周期主要体现在8个钩子:beforeCreate, created, beforeMount, mounted, beforeUpdate, updated, beforeDestroy, destroyed。
来对比一下Vue和mpvue的生命周期,看一下mpvue做出了什么改变:
对比来看,mpvue主要是对created和beforeMount之间的过程做了改变。
在Vue中,这个阶段主要作用是将template编译为render函数:
而在mpvue中,对于