美文网首页
Vue生命周期钩子

Vue生命周期钩子

作者: wdapp | 来源:发表于2020-02-07 17:32 被阅读0次
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue生命周期钩子</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
  {{message}}
  <com @click="onClick"></com>
</div>
<script>
Vue.component("com", {
  template: "<div></div>",
  beforeCreate() {
    this.$emit("click", "emit click");
  }
});
// vue实例运行过程中,某一个特定流程点需要执行的回调函数
var app = new Vue({
  el: "#app",
  data: {
    message: "hello world"
  },
  methods: {
    onClick(e) {
      console.log(e);
    }
  },
  beforeCreate() {
    /**
     * 此时还没有data,组件也没挂载完成,不可以使用。
     * 此阶段router已经存在,可以处理路由传参信息
     * 此阶事件已经初始化完成,可以发送事件 $emit $on
     */
    console.log("beforeCreate");
  },
  created() {
    /**
     * 源码:
     * initLifecycle(vm)
     * initEvents(vm) // 初始化事件
     * initRender(vm)
     * callHook(vm, 'beforeCreate')
     * initInjections(vm) // resolve injections before data/props
     * initState(vm) // 初始化数据
     * initProvide(vm) // resolve provide after data/props
     * callHook(vm, 'created')
     * 此阶段数据已经加载完成,可以在此阶段发起网络请求
     */
    console.log("created");
  },
  beforeMount() {
    /**
     * 此阶段render函数首次调用开始把VNode渲染为真实的DOM
     */
    console.log("beforeMount", this.$el);
  },
  mounted() {
    /**
     * 此阶段组件挂载完成,可以操作组件和DOM
     */
    console.log("mounted", this.$el);
  },
  beforeDestroy() {
    /**
     * Vue实例销毁前回调
     */
    console.log("beforeDestory");
  },
  destroyed() {
    /**
     * Vue实例已销毁
     */
    console.log("destoryed");
  },
  beforeUpdate() {
    /**
     * 数据更新前回调,此阶段改变data,不会重新渲染,不会重复触发beforeUpdate
     */
    console.log("beforeUpdate");
  },
  updated() {
    /**
     * 数据更新完成回调,此阶段改变data,会造成死循环
     */
    console.log("updated");
  }
});
// app.$mount('#app')
</script>
</body>
</html>

相关文章

  • 2.vue生命周期钩子

    Vue的生命周期钩子

  • Vue (2.x)生命周期

    注: 本文摘抄自vue官网,侵删。 生命周期图示 vue官网的生命周期图示如下 生命周期钩子 所有生命周期钩子自动...

  • vue生命周期

    一 vue生命周期 Vue的生命周期:就是vue实例从创建到销毁的全过程 二 vue生命周期钩子 vue生命周期...

  • vue 获取节点 获取事件

    vue 生命周期 什么是钩子函数 一开始就执行的 就是钩子函数 vue 钩子函数 也称作为生命周期 befor...

  • 详细的分析 Vue生命周期

    Vue 的生命周期 生命周期执行的函数叫法有三种: 生命周期钩子 生命周期函数 钩子函数 生命周期钩子概念: 在v...

  • Vue生命周期

    Vue生命周期详解 一、Vue生命周期 与 作用 (生命周期钩子就是生命周期函数) (1)Vue生命周期:每个Vu...

  • Vue生命周期中钩子函数整理

    什么是生命周期? Vue实例从创建到销毁的过程。 Vue钩子 Vue(2.x)的一个生命周期中有11个钩子,接下来...

  • 微信小程序的初体验——对比Vue

    一、生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多。 vue的钩子函...

  • 深入浅出Vue生命周期钩子函数

    首先,先展示官方的Vue生命周期钩子函数的图示 在Vue2.0+版本,一个Vue实例共有以下八个生命周期钩子函数 ...

  • vue3较vue2的特别之处 - 生命周期

    vue2 生命周期 vue3 生命周期 将 Vue2 的生命周期钩子代码更新到 Vue3 参考地址:https:/...

网友评论

      本文标题:Vue生命周期钩子

      本文链接:https://www.haomeiwen.com/subject/hwqvxhtx.html