详解Vue生命周期的示例


Posted in Javascript onMarch 10, 2017

一 vue的生命周期如下图所示(很清晰)

 详解Vue生命周期的示例

二 vue生命周期的栗子

 注意触发vue的created事件以后,this便指向vue实例,这点很重要

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>vue生命周期</title>
    <script src="../js/vue.js"></script>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  </head>
  <body>
    <div class="test" style="border: 1px black dashed;padding: 8px;">
      {{a}}
    </div>
    <div class="test2" style="border: 1px red solid;margin-top: 10px;padding: 8px;">
      我是内容二
    </div>
    <script type="text/javascript">
      var myVue = new Vue({
        el: ".test",
        data: {
          a: "我是内容,在控制台输入myVue.a=123456,可以改变我的值"
        },
        created: function () { 
          //在实例创建之后同步调用。此时实例已经结束解析选项,这意味着已建立:数据绑定,计算属性,方法,watcher/事件回调。
          //但是还没有开始 DOM 编译,$el 还不存在,但是实例存在,即this.a存在,可打印出来 。
          console.log("建立");
        },
        beforeCompile: function () {
          console.log("未开始编译");
        },
        compiled: function () { 
          //在编译结束后调用。此时所有的指令已生效,因而数据的变化将触发 DOM 更新。但是不担保 $el 已插入文档。
          console.log("编译完成");
        },
        ready: function () { 
          //在编译结束和 $el 第一次插入文档之后调用,如在第一次 attached 钩子之后调用。注意必须是由 Vue 插入(如 vm.$appendTo() 等方法或指令更新)才触发 ready 钩子。
          console.log("一切准备好了");
        },
        attached :function () { //myVue.$appendTo(".test2")暂时触发不了,不知道怎么解决
          //在 vm.$el 插入 DOM 时调用。必须是由指令或实例方法(如 $appendTo())插入,直接操作 vm.$el 不会 触发这个钩子。
          console.log("插入DOM成功");
        },
        detached :function () { //触发事件 myVue.$destroy(true),其中参数true控制是否删除DOM节点或者myVue.$remove()
          //在 vm.$el 从 DOM 中删除时调用。必须是由指令或实例方法删除,直接操作 vm.$el 不会 触发这个钩子。
          console.log("删除DOM成功");
        },
        beforeDestroy: function () { //触发方式,在console里面打myVue.$destroy();
          //在开始销毁实例时调用。此时实例仍然有功能。
          console.log("销毁前");
        },
        destroyed: function () {  //触发方式,在console里面打myVue.$destroy();其中myVue.$destroy(true)是删除DOM节点,会触发detached函数,但是实例仍然存在
          //在实例被销毁之后调用。此时所有的绑定和实例的指令已经解绑,注意是解绑不是销毁,所有的子实例也已经被销毁。
          console.log("已销毁");
        }
    });
    </script>
  </body>
</html>

将上面代码贴入后,在chrome控制台进行控制,刚开始载入页面的时候触发的事件是:

 详解Vue生命周期的示例

在控制台触发detached 事件如下(注意DOM已删除,但是实例仍然存在):

详解Vue生命周期的示例

 在控制台触发beforeDestroy和destroyed事件如下:(注意destroyed事件触发后,是解绑实例,不是删除实例)

详解Vue生命周期的示例

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

Javascript 相关文章推荐
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
Jquery 的扩展方法总结
Oct 01 Javascript
js实现图片从左往右渐变切换效果的方法
Feb 06 Javascript
jquery动态添加删除(tr/td)
Feb 09 Javascript
javascript限制文本框输入值类型的方法
May 07 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
Aug 16 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
Sep 16 Javascript
js拼接html字符串的注意事项
Oct 13 Javascript
vue将单页面改造成多页面应用的方法
Nov 25 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
Dec 03 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
Apr 19 Javascript
Vuex中实现数据状态查询与更改
Nov 08 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 #Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
Mar 10 #Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 #Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 #Javascript
Bootstrap fileinput组件封装及使用详解
Mar 10 #Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
Mar 10 #Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 #Javascript
You might like
php jsonp单引号转义
2014/11/23 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
php微信开发之上传临时素材
2016/06/24 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
js运动应用实例解析
2015/12/28 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
vue实现图片上传功能
2020/05/28 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python实现微信自动回复机器人功能
2019/07/11 Python
如何基于Python实现数字类型转换
2020/02/07 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
我的梦中国梦演讲稿
2014/04/23 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
授权委托书格式
2014/07/31 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
青年教师个人总结
2015/02/11 职场文书
特此通知格式
2015/04/27 职场文书
纪律委员竞选稿
2015/11/19 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python