Table des matières
Crochets de cycle de vie disponibles dans l'API de composition
Exemple pratique: récupérer les données sur la monture
Utilisation de crochets de cycle de vie dans des composants
Points clés pour se souvenir
Maison interface Web Voir.js Comment gérer le cycle de vie des composants dans l'API de composition Vue 3?

Comment gérer le cycle de vie des composants dans l'API de composition Vue 3?

Sep 17, 2025 am 07:33 AM
Vue 3

Dans l'API de composition de Vue 3, le crochet du cycle de vie est utilisé par la fonction ONX. La réponse est: 1. Importer sur le point, ondulé, onunmounted et l'appeler dans setup (); 2. Setup () remplace créé sans définition séparée; 3. La logique du cycle de vie peut être encapsulée dans les fonctions combinées pour la réutilisation; 4. Le crochet doit être appelé de manière synchrone et peut être enregistré plusieurs fois; 5. Les utilisations courantes incluent l'obtention de données pendant les ressources de montage et de nettoyage pendant la désinstallation, améliorant ainsi l'organisation du code et la maintenabilité.

Comment gérer le cycle de vie des composants dans l'API de composition Vue 3?

Dans l'API de composition de Vue 3, les crochets de cycle de vie des composants sont gérés différemment de l'API Options. Au lieu de définir des méthodes de cycle de vie comme des options sur l'objet composant (comme mounted , created , etc.), vous les importez et les utilisez directement dans la fonction setup() ou une fonction de composition.

Comment gérer le cycle de vie des composants dans l'API de composition Vue 3?

Voici comment travailler avec des crochets de cycle de vie dans l'API de composition:

Utilisez des crochets de cycle de vie avec des fonctions onX

Vue 3 fournit des fonctions spécifiques telles que onMounted , onUpdated , onUnmounted et d'autres qui correspondent aux événements de cycle de vie traditionnels. Vous les importez de vue et les appelez dans setup() .

Comment gérer le cycle de vie des composants dans l'API de composition Vue 3?
 import {onMounted, onupdated, onunmounted} de 'Vue'

Exporter par défaut {
  installation() {
    onMounted (() => {
      console.log («composant est monté»)
      // Effectuer l'initialisation (par exemple, récupérer les données, configurer les auditeurs)
    })

    onupdated (() => {
      console.log («composant est mis à jour»)
      // réagir aux changements de données réactives
    })

    onunmounted (() => {
      console.log ('' composant n'est pas monté '))
      // Nettoyer (par exemple, supprimer les auditeurs d'événements, les heures claires)
    })

    retour {}
  }
}

Crochets de cycle de vie disponibles dans l'API de composition

Ce sont les principaux crochets de cycle de vie disponibles:

  • onBeforeMount - appelé juste avant le montage du composant.
  • onMounted - appelé après le montage du composant.
  • onBeforeUpdate - appelé avant les mises à jour du composant en raison des modifications de données réactives.
  • onUpdated - appelé une fois le composant mis à jour.
  • onBeforeUnmount - appelé juste avant que le composant ne soit non monté.
  • onUnmounted - appelé après que le composant n'est pas monté.
  • onErrorCaptured - appelé lorsqu'une erreur se propage à partir d'un composant enfant.
  • onRenderTracked & onRenderTriggered - Debug Render Mises à jour (utilisées avec le suivi reactive / ref .).

Remarque: il n'y a pas de crochet created dans l'API de composition car setup() s'exécute pendant la phase de création. Ainsi, le code qui irait dans created peut être placé directement dans setup() .

Comment gérer le cycle de vie des composants dans l'API de composition Vue 3?

Exemple pratique: récupérer les données sur la monture

Un cas d'utilisation courant est de récupérer les données lorsque le composant monte et le nettoyage sur un mont.

 import {ref, onmounted, onunmounted} de 'vue'

Exporter par défaut {
  installation() {
    const Data = Ref (null)
    const Timer = Ref (null)

    onMounted (() => {
      // Simuler l'appel de l'API
      timer.value = setTimeout (() => {
        data.Value = 'Revended Data!'
      }, 1000)
    })

    onunmounted (() => {
      // Empêcher les fuites de mémoire
      if (timer.value) {
        ClearTimeout (Timer.Value)
      }
    })

    retour {
      données
    }
  }
}

Utilisation de crochets de cycle de vie dans des composants

L'un des grands avantages de l'API de composition est la réutilisabilité. Vous pouvez encapsuler la logique du cycle de vie dans des composants personnalisés.

 //composables/usewindowsize.js
import {ref, onmounted, onunmounted} de 'vue'

fonction d'exportation usewindowsize () {
  Const largeur = ref (0)
  const height = ref (0)

  fonction updateSize () {
    width.Value = window.innerwidth
    height.value = window.innerheight
  }

  onMounted (() => {
    updatesize ()
    window.addeventListener («redimensi», mises à jour)
  })

  onunmounted (() => {
    window.RemoveEventListener («redimensi», mises à jour)
  })

  retour {largeur, hauteur}
}

Puis utilisez-le dans n'importe quel composant:

 import {usewindowsize} depuis './composables/usewindowsize'

Exporter par défaut {
  installation() {
    const {largeur, hauteur} = usewindowSize ()
    retour {largeur, hauteur}
  }
}

Points clés pour se souvenir

  • Les crochets de cycle de vie doivent être appelés de manière synchrone à l'intérieur setup() ou d'un composable - pas à l'intérieur de rappels ou de conditions asynchrones.
  • Vous pouvez appeler le même crochet plusieurs fois (par exemple, plusieurs appels onMounted ), et ils seront tous exécutés.
  • setup() remplace à la fois beforeCreate et created - pas besoin de les définir séparément.

Fondamentalement, l'API de composition vous offre plus de flexibilité et une meilleure organisation de code en vous permettant de regrouper la logique associée - y compris la manipulation du cycle de vie - ensemble, en particulier lors de la création de logique réutilisable avec des composants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment  dans Vue 3 aide-t-il à gérer les composants asynchrones et leurs états de chargement? Comment dans Vue 3 aide-t-il à gérer les composants asynchrones et leurs états de chargement? Jun 10, 2025 am 12:07 AM

SuspenseInvue3SimpiliesHandlingAsyncomponentsByManagingloadingStates et IntegraterrorHandling.1.itWrapsasyncContentandDisplaysFallbackContentlikespinnersUtilthecomponentloads.2.EBEDEFINEASYNCCOMOPONENTSUSINGDEFINEAnSYnCOMPOINTAnDWRAPTHEMINASUSUSUSE

Comment la syntaxe  dans Vue 3 Simplifiez-elle la création de composants au sein de l'API de composition? Comment la syntaxe dans Vue 3 Simplifiez-elle la création de composants au sein de l'API de composition? Jun 11, 2025 am 12:10 AM

Vue3’scompositionAPIIMPROVESCOMPORANTDEVENCEMENTBY OFFERINGAMOREFLEXIBLEADIDINGIVEVAPROACHAPPAREDTATHEOPTIONSAPI.1.itallowsMoRenaturalCodeorganizationBygroupingRelatedLogicToGetHetherinstedofSplitSacros

Différences clés entre Vue 2 et Vue 3? Différences clés entre Vue 2 et Vue 3? Jul 09, 2025 am 01:29 AM

Vue3 s'est amélioré dans de nombreux aspects clés par rapport à Vue2. 1.Conde API fournit une méthode d'organisation logique plus flexible, permettant la gestion centralisée de la logique connexe, tout en prenant en charge l'API Options de Vue2; 2. De meilleures performances et une taille de package plus petite, la bibliothèque de base est réduite d'environ 30%, la vitesse de rendu est plus rapide et prend en charge une meilleure optimisation des shake d'arbre; 3. Le système réactif utilise ES6Proxy pour résoudre le problème de l'incapacité de suivre automatiquement l'addition d'attributs et la suppression dans Vue2, ce qui rend le mécanisme réactif plus naturel et cohérent; 4. Prise en charge intégrée intégrée pour TypeScript, prends en charge plusieurs fragments de nœuds et API de rendu personnalisé, améliorant la flexibilité et l'adaptabilité future. Dans l'ensemble, Vue3 est une mise à niveau en douceur vers Vue2,

Quelles sont les considérations pour migrer une application Vue 2 vers Vue 3? Quelles sont les considérations pour migrer une application Vue 2 vers Vue 3? Jun 08, 2025 am 12:16 AM

La migration vers Vue3 nécessite de partir de quatre aspects: vérification de la compatibilité, modifications réactives du système, ajustement de la communication des composants et mise à niveau des outils de construction. Tout d'abord, vérifiez si les dépendances du projet prennent en charge Vue3, en particulier les bibliothèques de base telles que Vuex et Vuerouter, et envisagez d'utiliser @ vue / compat pour une migration progressive; Deuxièmement, le système réactif est mis en œuvre par proxy, et Ref / Reactive a besoin de déclarer explicitement des données réactives, remplaçant Vue.set; Troisièmement, le crochet du cycle de vie est changé en onBeForMount, sur le point, etc., et il est nécessaire d'importer et de déclarer explicitement les accessoires / émissions; Quatrièmement, si TypeScript est utilisé, la prise en charge du fichier de configuration et de la chaîne d'outils doit être mise à jour. Il est recommandé de le terminer en premier.

Comment les dactylographies peuvent-elles être intégrées efficacement dans un projet VUE 3, en particulier avec l'API de composition? Comment les dactylographies peuvent-elles être intégrées efficacement dans un projet VUE 3, en particulier avec l'API de composition? Jun 13, 2025 am 12:13 AM

TypeScriptenhancesvue3ProjectSwithTypeSafetyAndimprovedTooling, surtout lorsque vous êtes en train de composerAPI.Tosetupvue3withTyPescrip

Comment détruire les objets réactifs en toute sécurité dans Vue 3? Comment détruire les objets réactifs en toute sécurité dans Vue 3? Jun 28, 2025 am 12:44 AM

Tosafelystructurationreactiveobjectsinvue3whilepreservingreactivité, usetorefs () withreactive () orpreferref (). 1.whennesingreactive (), toujours wraptheobjectwithtorefs () beforedestruat

Comment utiliser plusieurs liaisons en V V dans Vue 3? Comment utiliser plusieurs liaisons en V V dans Vue 3? Jul 05, 2025 am 01:31 AM

Dans Vue3, plusieurs liaisons en V V ne peuvent pas être utilisées directement sur un composant, mais des fonctions similaires peuvent être obtenues grâce à des propriétés et événements de modèle personnalisés. 1. Utilisez l'option Modèle pour personnaliser le nom des accessoires et de l'événement, par exemple, implémentez plusieurs liaisons de type V via le modèle: {Prop: 'Title', événement: 'mise à jour: titre'}; 2. Passez manuellement les accessoires et les événements de déclenchement, tels que la liaison: nom d'utilisateur et @update: nom d'utilisateur dans le composant parent, déclarer émettre dans le composant enfant; 3. Utiliser DefineProps and DefineeMits dans CompositionAPI

Quelles sont les principales différences entre l'API Options et l'API de composition dans Vue 3, et quand en choisissez-vous l'une par rapport à l'autre? Quelles sont les principales différences entre l'API Options et l'API de composition dans Vue 3, et quand en choisissez-vous l'une par rapport à l'autre? Jun 19, 2025 am 12:47 AM

HEMAINDIFFERDSBETWENWEVUE3’s OptionsapiandCospositionPiliesIncodeorganization andlogicreuse

See all articles