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 相关文章推荐
JQuery select控件的相关操作实现代码
Sep 14 Javascript
javascript 中__proto__和prototype详解
Nov 25 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
js如何打印object对象
Oct 16 Javascript
js带闹铃功能的倒计时代码
Sep 29 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
小程序实现五星点评效果
Nov 03 Javascript
layui弹出框Tab选项卡的示例代码
Sep 04 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
May 29 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+Ajax实现表单验证的详解
2013/06/25 PHP
php查看网页源代码的方法
2015/03/13 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
深入探讨前端框架react
2015/12/09 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
2020/05/29 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python使用multiprocessing创建进程的方法
2015/06/04 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
毕业生找工作的自我评价
2013/10/18 职场文书
企业文化口号
2014/06/12 职场文书
代领毕业证委托书
2014/08/02 职场文书
大学生暑假实习总结
2015/07/13 职场文书
勤俭节约主题班会
2015/08/13 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫