可简单理解为四个阶段:
- 创建阶段
- beforeCreate
- 什么都取不到
- created
- 没有this.$el
- 也没有真实的dom
- 但是已经有数据,那么就可以在这里去更改数据。如果数据时同步修改,就是带入到下一个生命周期。如果是异步修改,当数据修改完之后就会进入更新阶段。在这里做ajax请求是比较推荐的方法。
- beforeCreate
- 挂载阶段
- beforeMonunt
- 这里已经能看到this.$el,但是还没有进行真实的模板数据替换,看到的还是插值表达式。一般来说也不会在这里做太多的事情。
- mounted
- 在这里this.$el已经是真实的数据渲染的dom。在这里才能取到真实的dom,如果想要获取真实的dom,一般都在这个之后。一些第三方的dom操作也会在这里来进行初始化(仅限没有异步数据的dom)。有些人也喜欢在这里做ajax请求。
- beforeMonunt
- 更新阶段
- beforeUpdate
- 这里基本上不做太多的事情
- updated
- 有可能需要在这里来重新初始化第三方的dom操作插件
- beforeUpdate
- 销毁阶段
- beforeDestroy
- 在这里一般会去解除一些事件的监听。或者清除一些计时器之类的操作。
- destroyed
- beforeDestroy