vuejs的生命周期演示

vuejs的生命周期之代码演示演示

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script type="text/javascript" src="./lib/vue.js"></script>
	<script>
		window.onload = function(){
    let vm = new Vue({
    	el:'#app',
    	data:{
           msg:'这是一个测试1'
    	},
    	methods:{
          show:function(){
          	console.log('这是一个测试2')
          },
          pageShow:function(){
          	console.log(document.getElementById('p').innerText)
          }

    	},


    	//---------------------1-beforeCreate-------------------------------
                  //这里是创建了vue实例对像,并且初始化周期钩子函数和默认方法
         beforeCreate:function(){
         	this.show;//show is not a function  ---访问不了,显示show没有定义
         	console.log(this.msg)//undefined  --这个是显示undefined
         },



         //--------------------2-create--------------------------------
        //在这里data和methods都被初始化,可以被调用
         created:function(){
         	 this.pageShow();   //{{msg}}    --可以访问,访问的是{{msg}},这说明还是没有被渲染在页面上
         	 console.log(this.msg)//这是一个测试1   --可以访问
         },



         //--------------------3-beforeMount------------------------
         //这里表示vue开始编辑模板,将vue里面的代码都执行成模板字符串,最终在内存中生成编译好了 
          的模板,并将模板渲染经内存中的dom里面,但是只是在内存中渲染了模板,
           并没有将其渲染到真实的页面上去
         beforeMount:function(){
         	this.pageShow(); //{{msg}}   --可以访问,但是没被vue渲染到页面上
         	console.log(this.msg)//这是一个测试1   --可以访问
         },


          //------------------ 4-mounted-------------------------
          //这里的是将内存中的模板挂载到到真实的页面上,用户可以在页面上看到渲染好的的页面
           mounted:function(){
           	this.pageShow();//这是一个测试1  ----从data获取的数据
           },


           //------------------5-beforeUpdate-------------------------
           //通过某些插件操作dom上的节点,会根据data的改变而触发0到多次的,这个表示对数据进行更改,
但是页面上的数据没有被更新,data里面的数据已经被更新了,页面上的数据和data里面的数据没有发生同步
           beforeUpdate:function(){
                 this.pageShow();//这是一个测试1  --页面的数据没有改变
                 console.log(this.msg)//这是一个测试3  --data里面的数据已经改变了的
           },



           //-------------------6-update------------------------
           //根据在data里面的数据,重新再内存中渲染出一份新的dom树,
           并将最新的dom重新渲染到页面中去
           updated:function(){
           	     this.pageShow();//这是一个测试3  --页面的数据已经改变
               console.log(this.msg)//这是一个测试3  --data里面的数据已经改变了的
           }


      
            //-------------------7-beforeDestroy------------------------
            //当执行beforeDestroy钩子函数的时候,data,methods,
            过滤器和方法还是处于可以访问的状态


           //-------------------7-destroy------------------------
           //当执行destroy钩子函数之后。。data,methods,过滤器和方法都不可用
      
    })
}
     
	</script>
</head>
<body>
	<div id="app">
        <p id="p" >{{ msg }}</p>
        <button @click='msg ="这是测试的数据3"' value="toggle">toggle</button>
	</div>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值