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 相关文章推荐
css图片自适应大小
Nov 28 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
JS区分浏览器页面是刷新还是关闭
Apr 17 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
页面间固定参数,通过cookie传值的实现方法
May 31 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
node+express+ejs使用模版引擎做的一个示例demo
Sep 18 Javascript
Angular中的$watch方法详解
Sep 18 Javascript
node通过npm写一个cli命令行工具
Oct 12 Javascript
Vue2仿淘宝实现省市区三级联动
Apr 15 Javascript
vue二级路由设置方法
Feb 09 Javascript
vue实现动态显示与隐藏底部导航的方法分析
Feb 11 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
用PHP发电子邮件
2006/10/09 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
smarty表格换行实例
2014/12/15 PHP
DHTML Slide Show script图片轮换
2008/03/03 Javascript
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
python3抓取中文网页的方法
2015/07/28 Python
Python获取当前路径实现代码
2017/05/08 Python
python中模块的__all__属性详解
2017/10/26 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
高中自我鉴定
2013/12/20 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python