Vue js 的生命周期(看了就懂)(推荐)

yizhihongxing

Vue.js的生命周期

Vue.js 的生命周期是指从 Vue 实例创建、运行到销毁的整个过程,主要包括以下几个阶段:

  1. 创建阶段(Initialization):

    • beforeCreate:实例刚在内存中创建出来,但还未初始化 data、methods、computed、watcher 等属性和对象,因此无法访问 data、methods、computed、watcher 等属性和对象
    • created:完成了数据初始化,可以访问 data、methods、computed、watcher 等属性和对象
  2. 模板编译(Template Compilation):将模板编译为虚拟 DOM

    • beforeMount:虚拟 DOM 已经在内存中创建出来,但还未挂载到页面中的真实 DOM 上
    • mounted:虚拟 DOM 成功渲染到页面上,已经可以访问到渲染好的 HTML 结构,也可以通过 ref 获取挂载的元素,还可以进行 AJAX 请求和定时器等操作
  3. 节点更新(Node Updating):当数据改变时,重新渲染节点的过程

    • beforeUpdate:在数据更新之前触发,在这个阶段无法访问到更新后的数据,只能访问到更新前的数据
    • updated:在数据更新之后触发,需要注意的是不要在 updated 钩子中修改数据,否则会陷入死循环
  4. 卸载阶段(Destroy):Vue 实例销毁后,清理工作阶段

    • beforeDestroy:Vue 实例销毁之前会调用 beforeDestroy 钩子函数,可以在这个阶段进行一些清理工作
    • destroyed:Vue 实例已经销毁,无法再访问 Vue 实例的任何属性和方法,这个阶段可以进行一些解绑操作

示例说明1:利用生命周期钩子函数显示组件渲染的时间

<template>
  <div>
    <p>这是我的第一个组件</p>
    <p>{{ time }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      time: ""
    };
  },
  beforeCreate() {
    console.log("组件即将创建");
  },
  created() {
    console.log("组件已经创建");
    setInterval(() => {
      var date = new Date();
      var time = date.toLocaleTimeString();
      this.time = '当前时间:' + time;
    }, 1000);
  },
  beforeMount() {
    console.log("组件即将挂载");
  },
  mounted() {
    console.log("组件已经挂载");
  },
  beforeUpdate() {
    console.log("组件即将更新");
  },
  updated() {
    console.log("组件已经更新");
  },
  beforeDestroy() {
    console.log("组件即将销毁");
  },
  destroyed() {
    console.log("组件已经销毁");
  }
};
</script>

示例说明2:利用生命周期钩子函数获取数据和调用 AJAX 请求

<template>
  <div class="users">
    <ul>
      <li v-for="user in users" :key="user.id">{{ user.name }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      users: []
    };
  },
  beforeCreate() {
    console.log("组件即将创建");
  },
  created() {
    console.log("组件已经创建");
    axios.get("https://jsonplaceholder.typicode.com/users").then(response => {
      console.log(response.data);
      this.users = response.data;
    });
  },
  beforeMount() {
    console.log("组件即将挂载");
  },
  mounted() {
    console.log("组件已经挂载");
  },
  beforeUpdate() {
    console.log("组件即将更新");
  },
  updated() {
    console.log("组件已经更新");
  },
  beforeDestroy() {
    console.log("组件即将销毁");
  },
  destroyed() {
    console.log("组件已经销毁");
  }
};
</script>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue js 的生命周期(看了就懂)(推荐) - Python技术站

(0)
上一篇 2023年5月29日
下一篇 2023年5月29日

相关文章

  • 使用vue2.0创建的项目的步骤方法

    下面是使用Vue 2.0创建项目的步骤: 安装Vue CLI Vue CLI是Vue官方提供的脚手架工具,用于快速创建Vue项目。在终端中运行下面的命令安装Vue CLI: npm install -g @vue/cli 创建Vue项目 安装完成后运行下面的命令创建一个Vue项目: vue create my-project 其中“my-project”是项…

    Vue 2023年5月28日
    00
  • Mock.js的安装与使用教程(摆脱后端同学的束缚)

    下面我会详细讲解”Mock.js的安装与使用教程(摆脱后端同学的束缚)”的完整攻略。 1. 简介 Mock.js是一个模拟数据生成器,可以用于前端开发中的接口测试、调试和前后端分离开发。Mock.js提供了丰富的数据类型、生成规则,可以生成符合规范的模拟数据,简化前端开发流程,提高开发效率。 2. 安装 2.1 npm安装 Mock.js是一个npm包,可以…

    Vue 2023年5月28日
    00
  • vue中 v-for循环的用法详解

    Vue中v-for循环的用法详解 在Vue中,v-for是一种指令,用于循环渲染数据列表。本篇攻略将详细讲解Vue中v-for的用法。 基本用法 v-for指令需要用在具有多个子节点的元素上,它的语法格式为: <div v-for="(item, index) in items" :key="index">…

    Vue 2023年5月27日
    00
  • vue中jsonp的使用方法

    当前主流的前端框架之一就是Vue.js。在使用Vue.js时,有时我们需要使用JSONP(JSON with Padding)来解决跨域请求的问题。以下是关于Vue中JSONP的使用方法的完整攻略。 什么是JSONP? JSONP是一种跨域的请求方式。它通过动态添加<script>标签来实现跨域请求数据的方法。JSONP的实现过程如下: 在客户端…

    Vue 2023年5月28日
    00
  • 15个Vue技巧,你都知道吗

    15个Vue技巧,你都知道吗 本篇攻略将讲解15个Vue的技巧,旨在提高您的Vue开发效率。 技巧一:使用v-for循环时,给每一项设置key 在使用v-for循环时,需要给每一项设置一个唯一的key值,以便在更新数据时能够快速定位需要更新的元素,否则会出现性能问题。 <template> <ul> <li v-for=&quo…

    Vue 2023年5月27日
    00
  • vue中的Object.freeze() 优化数据方式

    当我们在使用Vue.js时,我们会遇到需要对某个对象进行深度冻结的情况。这时,Vue提供了一个Object.freeze()方法来实现深度冻结。该方法可以冻结一个对象的所有属性,包括嵌套对象和数组中的属性。这种方式可以有效避免用户误操作导致数据变化,从而优化数据的稳定性和可靠性。 下面我们通过以下两个示例来具体说明如何使用Object.freeze()方法:…

    Vue 2023年5月27日
    00
  • 从0搭建Vue3组件库如何使用 glup 打包组件库并实现按需加载

    下面是从0搭建Vue3组件库并使用glup打包组件库实现按需加载的完整攻略。 步骤一:搭建组件库的开发环境 1.1 环境依赖 首先,我们需要安装Node.js和npm。在安装完成之后,可以在命令行中输入以下命令进行确认: node -v # 查看当前Node.js版本 npm -v # 查看当前npm版本 1.2 创建Vue3组件库 Vue3框架已经正式发布…

    Vue 2023年5月28日
    00
  • vue+node+webpack环境搭建教程

    Vue + Node + Webpack 环境搭建教程 本文详细讲解如何搭建 Vue + Node + Webpack 环境,以及相关的配置和注意事项。本教程中使用的框架版本如下: Vue.js:2.x Node.js:8.x Webpack:3.x 1. 安装 Node.js 在开始搭建前,首先需要安装 Node.js。Node.js 是一个基于 Chro…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部