Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vue系列之第一次页面加载会触发哪几个钩子 #56

Open
yuanyuanbyte opened this issue Nov 21, 2021 · 0 comments
Open

Vue系列之第一次页面加载会触发哪几个钩子 #56

yuanyuanbyte opened this issue Nov 21, 2021 · 0 comments

Comments

@yuanyuanbyte
Copy link
Owner

yuanyuanbyte commented Nov 21, 2021

本系列的主题是 Vue,每期讲解一个技术要点。如果你还不了解各系列内容,文末点击查看全部文章,点我跳转到文末

如果觉得本系列不错,欢迎 Star,你的支持是我创作分享的最大动力。

vue 第一次页面加载会触发哪几个钩子

页面首次渲染会触发 beforeCreatecreatedbeforeMountmounted这四个钩子函数。

写一个测试demo来直观的查看首次渲染会触发的钩子:

<template>
  <div>
    <p>{{foo}}</p>
  </div>
</template>
<script>
export default {
  data() {
    return {
      foo: "foo"
    };
  },
  beforeCreate() {
    console.log("beforeCreate");
  },
  created() {
    console.log("created");
  },
  beforeMount() {
    console.log("beforeMount");
  },
  mounted() {
    setTimeout(() => {
      this.foo = "fooooooo";
    }, 2000);
    console.log("monnted" + this.$el);
  },
  beforeUpdate() {
    console.log("beforeUpdate");
  },
  updated() {
    console.log("updated");
  }
};
</script>

注意 ❗ ❗ ❗ 这个实例在 mounted 钩子中加了一个定时器,用来验证beforeUpdateupdated 这两个钩子响应时机.

查看控制台如下:

在这里插入图片描述

可以发现,页面首次渲染会触发beforeCreatecreatedbeforeMountmounted这四个钩子函数。

页面加载完成的 2 秒后更新了一下数据,可以看到 data 更新后才会先后触发beforeUpdateupdated这两个钩子。

用户主动vm.$destory()要销毁页面后会触发 beforeDestroydestroyed

查看全部文章

博文系列目录

  • JavaScript 深入系列
  • JavaScript 专题系列
  • JavaScript 基础系列
  • 网络系列
  • 浏览器系列
  • Webpack 系列
  • Vue 系列
  • 性能优化与网络安全系列
  • HTML 应知应会系列
  • CSS 应知应会系列

交流

各系列文章汇总:https://github.com/yuanyuanbyte/Blog

我是圆圆,一名深耕于前端开发的攻城狮。

weixin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant