组件创建阶段
beforeCreate
初始化实例和声明周期函数,此时什么也做不了
在beforeCreate里面去打印这些props data methods
props中的值未定义
data中的messsage:undefined
methods中的方法也没有被定义
created阶段
在create生命周期函数中,调用methods方法,发起ajax请求,去请求服务器数据。并且将得到的数据转存到data中,供templete模板使用
- 组件在内存中创建好,还未渲染到浏览器中
- 此时组件的数据如props data methods已经创建好,但是模板结构尚未生成
如下:
beforeMount:将要把组件渲染到页面上,还没渲染,操作不了DOM元素基本上不会用到、
mounted:已经将组件成功渲染到浏览器页面上,最早的可以去操作dom元素的生命周期函数
mounted(){
console.log(this.$el)//能够打印出dom结构
}
组件运行阶段
beforeUpdate:
== 触发条件:当数据data的值发生改变的时候触发。
此时beforeUpdate的data中message是最新的值,dom是旧的值==,即页面还没有重新渲染。
console.log(this.message) //hello vue.js~~
console.log(dom.innerHTML) //messgae的值是:hello vue.js
页面展示的数据发生了改变,但是DOM中的值并没有发生改变
updated::
已经是最新的数据,可以在updated中操作最新的DOM