<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> 生命周期 </title> </head> <body> <div id="app"> <input type="button" value="修改" @click="msg='sss'"/> <p id="p1">{{msg}}</p> </div> </body> <!--1、导入vue包--> <script src="./js/vue.min.js"></script> <!--2、创建vue实例(new对象)--> <script type="text/javascript"> var vm = new Vue({ el: '#app', data: { msg:'msg' }, //生命周期第一个函数,代表vue实例被创建,并没有初始化数据 beforeCreate() { console.log(this.msg) this.show() }, //生命周期的第二个函数,代表数据被初始化,此处为最早获取到的数据和方法的地方 created() { console.log(this.msg) this.show() }, // 生命周期的第三个函数,在模板挂载前 beforeMount() { // 代表template模板已经存在内存中,并且模板中已经编辑完数据,但是此时已完成挂载到页面 console.log(document.getElementById('p1').innerHTML) }, mount() { // 代表template模板已经存在内存中,并且模板中已经编辑完数据,但是此时模板还没挂载到页面 console.log(document.getElementById('p1').innerHTML) }, beforeUpdate() { //数据发生更新,但是没有显示到页面 console.log("页面上的msg元素内容:"+document.getElementById('p1').innerHTML)//页面上的msg元素内容:msg console.log("data中msg的内容"+this.msg)//data中msg的内容:sss console.log("----------------------------"); }, update() { // 数据发生更新,且显示到页面 console.log("页面上的msg元素内容:"+document.getElementById('p1').innerHTML)//页面上的msg元素内容:sss console.log("data中msg的内容"+this.msg)//data中msg的内容:sss }, methods: { show(){ console.log('show'); } } }) </script> </html>