Vue Vue3的生命周期

文章目录

  • 配置项的形式使用
  • 组合式API形式使用

配置项的形式使用

用一个例子来学习 vue3 的生命周期钩子
Vue Vue3的生命周期_第1张图片

App.vue 中引入 Demo,并添加一个按钮来隐藏或显示

<template>
  <div>
    <Demo v-if="isShow"/><br>
    <button @click="isShow = !isShow">点我隐藏/显示button>
  div>
template>

<script>
import Demo from './components/Demo'
import {ref} from 'vue'
export default {
  name: 'App',
  components: {Demo},
  setup(){
    const isShow = ref(true)

    return{
      isShow
    }
  }
}
script>

Demo 中显示一个 sum,点击按钮 sum++,同时我们把 vue3 中的生命周期钩子列出来,并打印

<template>
  <h2>当前求和为:{{ sum }}h2>
  <button @click="sum++">点我sum++button>
template>

<script>
import {ref} from 'vue'

export default {
  name: 'Demo',
  setup() {
    let sum = ref(0);

    return {
      sum,
    }
  },
  //通过配置项的形式使用生命周期钩子
  beforeCreate() {
    console.log("--beforeCreate");
  },
  created() {
    console.log("--created");
  },
  beforeMount() {
    console.log("--beforeMount");
  },
  mounted() {
    console.log("--mounted");
  },
  beforeUpdate() {
    console.log("--beforeUpdate");
  },
  updated() {
    console.log("--updated");
  },
  beforeUnmount() {
    console.log("--beforeUnmount");
  },
  unmounted() {
    console.log("--unmounted");
  }
}
script>

刚一进页面:
Vue Vue3的生命周期_第2张图片
当点击 sum++ 时:
在这里插入图片描述
当点击隐藏显示时:
在这里插入图片描述
隐藏后再点击展示:
Vue Vue3的生命周期_第3张图片

组合式API形式使用

Vue3.0 中可以继续使用 Vue2.x中 的生命周期钩子,但有有两个被更名:
beforeDestroy改名为beforeUnmount
destroyed改名为unmounted

Vue3.0 也提供了 Composition AP I形式的生命周期钩子,与 Vue2.x 中钩子对应关系如下:
obeforeCreate===>setup()
created =======> setup()
beforeMount ===> onBeforeMount
mounted =======> onMounted
beforeUpdate ===> onBeforeUpdate
updated =======>onUpdated
beforeUnmount ==> onBeforeUnmount
unmounted =====> onUnmounted

<template>
  <h2>当前求和为:{{ sum }}h2>
  <button @click="sum++">点我sum++button>
template>

<script>
import {onBeforeMount, onBeforeUnmount, onBeforeUpdate, onMounted, onUnmounted, onUpdated, ref} from 'vue'

export default {
  name: 'Demo',
  setup() {
    let sum = ref(0);
	console.log("--setup");
    onBeforeMount(() => {
      console.log("--onBeforeMount");
    })
    onMounted(() => {
      console.log("--onMounted");
    })
    onBeforeUpdate(() => {
      console.log("--onBeforeUpdate");
    })
    onUpdated(() => {
      console.log("--onUpdated");
    })
    onBeforeUnmount(() => {
      console.log("--onBeforeUnmount");
    })
    onUnmounted(() => {
      console.log("--onUnmounted");
    })

    return {
      sum,
    }
  },
}
script>

一进页面:
在这里插入图片描述
点 sum++
在这里插入图片描述
点击隐藏
在这里插入图片描述
点击显示
Vue Vue3的生命周期_第4张图片

你可能感兴趣的:(vue)