Cycle de vie des composants dans Vue

Le processus d'un composant de sa création à sa destruction est appelé cycle de vie.
Lorsque nous utilisons l'API combinée Vue3, il n'y a pas de cycles de vie beforeCreate et created

Le cycle de vie des composants est le suivant :

insérez la description de l'image ici

  • onBeforeMount() est appelé avant que le composant DOM ne soit rendu et monté. A cette étape, l'élément racine n'existe pas encore.
  • onMounted() est appelé après le premier rendu du composant, l'élément est maintenant disponible, permettant un accès direct au DOM
  • onBeforeUpdate() Appelé lorsque les données sont mises à jour, avant que le DOM virtuel ne soit corrigé.
  • onUpdated() Après la mise à jour du DOM, la méthode mise à jour sera appelée.
  • onBeforeUnmount() Appelé avant que l'instance du composant ne soit démontée. A ce stade, l'instance est encore entièrement fonctionnelle.
  • onUnmount() Appelé après le démontage de l'instance du composant. Lorsque ce crochet est appelé, toutes les directives de l'instance de composant sont non liées, tous les écouteurs d'événement sont supprimés et toutes les instances de composant enfant sont démontées.
Crochets de l'API d'options et de l'API de composition
API facultative API composite
avantCréer Pas besoin*
créé Pas besoin*
avant le montage onBeforeMount
monté surmonté
avant la mise à jour onBeforeUpdate
mis à jour mis à jour
avantDémonter onBeforeUnmount
non monté surDémonté
errorCaptured onErrorCaptured
rendusuivi onRenderTracked
renderTriggered onRenderTriggered
activé activé
désactivé surDésactivé

Exemple de code :

<template>
   <h3>我是组件</h3>
   <div ref="div">{
   
   {str}}</div>
   <button @click="change">修改str</button>
</template>
<script setup lang="ts">
import {
      
       ref,onBeforeMount,onMounted,onBeforeUpdate,onUpdated,onBeforeUnmount,onUnmounted } from 'vue';
const str=ref<string>('我是大漂亮');
console.log(str);
const div=ref<HTMLDivElement>();
const change=()=>{
      
      
   str.value='小可爱';
}
onBeforeMount(()=>{
      
      
   console.log('创建前',div.value);
})
onMounted(()=>{
      
      
   console.log('挂载完成',div.value);
})
onBeforeUpdate(()=>{
      
      
   console.log('更新前')
})
onUpdated(()=>{
      
      
   console.log('更新完成')
})
onBeforeUnmount(()=>{
      
      
   console.log('卸载之前')
})
onUnmounted(()=>{
      
      
   console.log('卸载完成')
})
</script>
<style scoped>
</style>

Chargement de la page terminé :
la référence<"I'm Damei">
n'était pas définie avant la création et le montage
était terminé

<div>小可爱</div>"
Après avoir cliqué sur le bouton :

Impression de la console :
avant la mise à jour,
mise à jour terminée

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42491648/article/details/128088401
conseillé
Classement