vue组件生命周期详解


Posted in Javascript onNovember 07, 2017

本文实例为大家分享了vue组件生命周期的具体代码,供大家参考,具体内容如下

分为4个阶段:

create/mount/update/destroy

每一个阶段都对应着有自己的处理函数

create: beforeCreate created

初始化

mount: beforeMount mounted

和挂载相关的处理

update: beforeUpdate updated

根据要更新的数据 做逻辑判断

destroy:beforeDestroy destroyed

清理工作

代码:

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>生命周期</title>
 <script src="js/vue.js"></script>
 </head>
 <body>
 <div id="container">
  <p>{{msg}}</p>
<!--点击的时候isShow进行取反 -->
  <button @click="isShow = !isShow">切换是否显示组件</button>
  <my-component v-if="isShow"></my-component>
 </div>
 <script>
  Vue.component("my-component",{
   template:`
     <div>
      <button @click="handleClick">Click Me</button>
      <h1>component:{{count}}</h1>
      </div>
   `,
   data:function(){
     return {
      count:0
     }
    },
   methods:{
    handleClick:function(){
     this.count++;
    }
   },
   beforeCreate: function () {
   console.log('准备创建组件');
  },
  created: function () {
   console.log('组件创建完毕');
  },
  beforeMount: function () {
   console.log('组件的模板准备挂载到DOM');
  },
  mounted: function () {
   console.log('挂载完毕');
  },
  beforeUpdate: function () {
   console.log('准备更新了');
  },
  updated:function(){
   console.log('更新完成');
  },
  beforeDestroy: function () {
   console.log('准备destroy');
  },
  destroyed: function () {
   console.log('destroy完成');
  }
  })
  new Vue({
   el:"#container",
   data:{
    msg:"Hello VueJs",
    isShow:true
   }
  })
 </script>
 </body>
</html>

生命周期练习,需要那阶段写那个阶段

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>生命周期练习</title>
 <script src="js/vue.js"></script>
 </head>
 <body>
 <div id="container">
  <p>{{msg}}</p>
  <my-component></my-component>
 </div>
 <script>
  Vue.component("my-component",{
   data:function(){
    return {
     myOpacity:0
    }
   },
   template:` <h1 v-bind:style="{opacity:myOpacity}">透明度将改变
   </h1>`,
   mounted:function(){
    setInterval(function(){
     this.myOpacity += 0.1;
     if(this.myOpacity>1){
      this.myOpacity = 0;
     }
    }.bind(this),1000)
   }
  })
  new Vue({
   el:"#container",
   data:{
    msg:"Hello VueJs"
   }
  })
 </script>
 </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
代码生成器 document.write()
Apr 15 Javascript
js中小数转换整数的方法
Jan 26 Javascript
LABjs、RequireJS、SeaJS的区别
Mar 04 Javascript
从零学JSON之JSON数据结构
May 19 Javascript
js变量、作用域及内存详解
Sep 23 Javascript
javascript中clone对象详解
Dec 03 Javascript
jQuery实现的图片分组切换焦点图插件
Jan 06 Javascript
js实现登陆遮罩效果的方法
Jul 28 Javascript
jQuery+Pdo编写login登陆界面
Aug 01 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
原生JS实现列表子元素顺序反转的方法分析
Jul 02 Javascript
vue cli 3.0 搭建项目的图文教程
May 17 Javascript
Angular2的管道Pipe的使用方法
Nov 07 #Javascript
浅谈react 同构之样式直出
Nov 07 #Javascript
vue组件watch属性实例讲解
Nov 07 #Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
Nov 07 #Javascript
React Native使用百度Echarts显示图表的示例代码
Nov 07 #Javascript
浅谈在Vue-cli里基于axios封装复用请求
Nov 06 #Javascript
浅谈mint-ui 填坑之路
Nov 06 #Javascript
You might like
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
Python os模块介绍
2014/11/30 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
俄罗斯品牌服装和鞋子在线商店:BRIONITY
2020/03/26 全球购物
一名毕业生的自我鉴定
2013/12/04 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
管理部副部长岗位职责范文
2014/03/09 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
深入理解redis中multi与pipeline
2021/06/02 Redis