Ciclo de vida do componente em Vue

O processo de um componente desde a criação até a destruição é chamado de ciclo de vida.
Quando usamos a API combinada do Vue3, não há ciclos de vida beforeCreate e criado

O ciclo de vida do componente é o seguinte:

insira a descrição da imagem aqui

  • onBeforeMount() é chamado antes que o componente DOM seja realmente renderizado e montado. Nesta etapa, o elemento raiz ainda não existe.
  • onMounted() é chamado após a primeira renderização do componente, o elemento agora está disponível, permitindo acesso direto ao DOM
  • onBeforeUpdate() Chamado quando os dados são atualizados, antes que o DOM virtual seja corrigido.
  • onUpdated() Depois que o DOM for atualizado, o método atualizado será chamado.
  • onBeforeUnmount() Chamado antes que a instância do componente seja desmontada. Nesta fase, a instância ainda está totalmente funcional.
  • onUnmounted() Chamado depois que a instância do componente é desmontada. Quando esse gancho é chamado, todas as diretivas da instância do componente são desvinculadas, todos os ouvintes de evento são removidos e todas as instâncias do componente filho são desmontadas.
API de opções vs ganchos de API de composição
API opcional API composta
antes de criar Não é necessário*
criada Não é necessário*
antes de montar antes de montar
montado onMounted
antes de atualizar onBeforeUpdate
Atualizada onAtualizado
antes de desmontar onBeforeUnmount
desmontado onUnmounted
erro capturado onErrorCaptured
renderTracked onRenderTracked
renderTriggered onRenderTriggered
ativado onAtivated
desativado onDesativado

Exemplo de código:

<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>

Carregamento da página concluído:
Ref<"I'm Damei">
estava indefinido antes da criação e a montagem
foi concluída

<div>小可爱</div>"
Após clicar no botão:

Impressão do console:
antes da atualização,
atualização completa

Acho que você gosta

Origin blog.csdn.net/weixin_42491648/article/details/128088401
Recomendado
Clasificación