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 相关文章推荐
Prototype Object对象 学习
Jul 12 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
Jun 09 Javascript
javascript运动详解
Jul 06 Javascript
JS JSOP跨域请求实例详解
Jul 04 Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 Javascript
fullpage.js全屏滚动插件使用实例
Sep 06 Javascript
前端构建工具之gulp的配置与搭建详解
Jun 12 Javascript
使用Dropzone.js上传的示例代码
Oct 10 Javascript
vue.js实现的绑定class操作示例
Jul 06 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 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 获取完整url地址
2008/12/20 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP 中常量的知识整理
2017/04/14 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
Javascript - HTML的request类
2006/07/15 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
Django接受前端数据的几种方法总结
2016/11/04 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
职工运动会邀请函
2014/02/02 职场文书
书香家庭事迹材料
2014/05/09 职场文书
万能检讨书
2015/01/27 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
Ajax实现异步加载数据
2021/11/17 Javascript
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers