Vue进阶之生命周期

今天我们将会深入探讨Vue的生命周期方法。Vue中的生命周期钩子函数是指在实例化过程中自动执行的函数,这些函数帮助我们管理自定义Vue实例的各个阶段,比如实例化、渲染、更新和销毁。了解生命周期的运行过程可以帮助您更好地管理Vue应用程序的状态,现在让我们开始吧。

生命周期的阶段图

Vue的生命周期可以分为8个阶段。下面是一个生命周期的阶段图示:

  • beforeCreate:实例刚被创建,数据观测和事件机制都未被设置。
  • created:实例已经创建完成,数据观测(data属性等),以及事件机制(methods等)均已设置好。但此时的DOM节点还未被挂载。
  • beforeMount:DOM节点已生成,但还未被挂载到实例上。
  • mounted:DOM节点已挂载到实例上,及 vm.$el 属性指向了真实的DOM。
  • beforeUpdate:数据发生变化,且虚拟DOM重新渲染之前触发,发生在虚拟DOM计算之前。
  • updated:虚拟DOM重新渲染并应用到DOM之后触发。
  • beforeDestroy:实例被销毁之前触发,此时实例仍然可用。
  • destroyed:实例被销毁之后触发,此时实例不可以再被使用。

生命周期的示例代码

下面是v-for指令更新生命周期updated的一个简单示例,该组件监听words数组的更新,每次v-for指令的数组发生了变化,我们都会在控制台中打印出新的数组内容。

<template>
  <div>
    <label>添加单词:</label>
    <input v-model="inputValue" @keyup.enter="addWord">
    <ul>
      <li v-for="word in words" :key="word">{
   
   { word }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      words: [],
      inputValue: ""
    };
  },
  methods: {
    addWord() {
      if (this.inputValue) {
        this.words.push(this.inputValue);
        this.inputValue = "";
      }
    }
  },
  updated() {
    console.log("Words updated", this.words);
  }
};
</script>

在上述代码中,每次更新words数组的值,将会触发updated钩子函数,并打印出最新更新的数组内容。

总结

在本篇博客中,我们对Vue的生命周期进行了详细介绍,并提供了一个简单的示例代码来展示生命周期的钩子函数的应用。使用Vue生命周期的一个关键点是要知道何时触发相应的钩子函数,并且在应用程序中使用它们的最佳时机。希望这篇博客能够帮助您更好地了解Vue生命周期的使用方法。

猜你喜欢

转载自blog.csdn.net/weixin_61719769/article/details/129482605