Vue3 API des options
Les API suivantes sont largement utilisées dans l'API Options de Vue pour gérer l'état, le cycle de vie, les slots, l'injection de dépendances et d'autres fonctionnalités.
1. Options d'état
| Non. | API et description | Exemple |
|---|---|---|
| 1 | data L'option data d'un composant, utilisée pour définir l'état du composant. |
data() { return { count: 0 }; } |
| 2 | props L'option props d'un composant, définissant les données transmises d'un composant parent à un composant enfant. |
props: { msg: String } |
| 3 | computed Propriétés calculées, utilisées pour définir des valeurs dérivées à partir de l'état du composant (data, props). |
computed: { doubledCount() { return this.count * 2; } } |
| 4 | methods L'option methods d'un composant, utilisée pour définir la logique métier du composant. |
methods: { increment() { this.count += 1; } } |
| 5 | watch Écouter les changements dans les données réactives du composant et exécuter des callbacks. |
watch: { count(newVal) { console.log(newVal); } } |
| 6 | emits Définir des événements personnalisés que le composant peut émettre. |
emits: ['update'] |
| 7 | expose Propriétés ou méthodes explicitement exposées pour permettre l'accès par le composant parent. |
expose() { return { method } } |
2. Options de rendu
| Non. | API et description | Exemple |
|---|---|---|
| 1 | template Définir le template HTML du composant. |
<template><button @click="increment">{{ count }}</button></template> |
| 2 | render Utiliser une fonction de rendu au lieu d'un template. |
render(h) { return h('button', { on: { click: this.increment } }, this.count) } |
| 3 | compilerOptions Configurer les options du compilateur de template. |
compilerOptions: { delimiters: ['{{', '}}'] } |
| 4 | slots Définir les slots du composant. |
<slot></slot> |
3. Options du cycle de vie
| Non. | API et description | Exemple |
|---|---|---|
| 1 | beforeCreate Appelé avant que le composant ne soit instancié. |
beforeCreate() { console.log('Before Create') } |
| 2 | created Appelé après la création de l'instance du composant, les données étant déjà initialisées. |
created() { console.log('Created') } |
| 3 | beforeMount Appelé avant le montage dans le DOM, le template étant déjà compilé. |
beforeMount() { console.log('Before Mount') } |
| 4 | mounted Appelé après que le composant a été monté dans le DOM. |
mounted() { console.log('Mounted') } |
| 5 | beforeUpdate Appelé après la modification des données et avant que le composant ne soit re-rendu. |
beforeUpdate() { console.log('Before Update') } |
| 6 | updated Appelé après que la mise à jour du composant est terminée. |
updated() { console.log('Updated') } |
| 7 | beforeUnmount Appelé avant que le composant ne soit démonté. |
beforeUnmount() { console.log('Before Unmount') } |
| 8 | unmounted Appelé après que le composant a été démonté. |
unmounted() { console.log('Unmounted') } |
| 9 | errorCaptured Appelé lorsque des erreurs provenant de composants enfants sont capturées. |
errorCaptured(err, vm, info) { console.error(err) } |
| 10 | renderTracked Appelé lorsque les données réactives changent et déclenchent un nouveau rendu. |
renderTracked(event) { console.log('Render Tracked') } |
| 11 | renderTriggered Appelé lorsque les données réactives déclenchent un nouveau rendu. |
renderTriggered(event) { console.log('Render Triggered') } |
| 12 | activated Appelé lorsque le composant est activé (uniquement pour keep-alivecomposants). |
activated() { console.log('Activated') } |
| 13 | deactivated Appelé lorsque le composant est désactivé (uniquement pour keep-alivecomposants). |
deactivated() { console.log('Deactivated') } |
| 14 | serverPrefetch Un hook pour récupérer des données lors du rendu côté serveur. |
serverPrefetch() { return fetchData() } |
4. Options de composition
| Non. | API et description | Exemple |
|---|---|---|
| 1 | provide Fournir des dépendances aux composants descendants. |
provide('key', 'value') |
| 2 | inject Injecter des dépendances depuis les composants ancêtres. |
inject('key') |
| 3 | mixins Introduire des mixins externes pour réutiliser la logique. |
mixins: [myMixin] |
| 4 | extends Le composant étend les options d'un autre composant. |
extends: MyComponent |
5. Autres divers
| Non. | API et description | Exemple |
|---|---|---|
| 1 | name Le nom du composant, généralement utilisé pour le débogage. |
name: 'MyComponent' |
| 2 | inheritAttrs Contrôle si les attributs (attrs) du composant parent sont automatiquement hérités par l'élément racine. |
inheritAttrs: false |
| 3 | components Enregistre des composants locaux afin qu'ils puissent être utilisés dans le composant actuel. |
components: { LocalComponent } |
| 4 | directives Enregistre des directives locales afin qu'elles puissent être utilisées dans le composant actuel. |
directives: { focus: FocusDirective } |
6. Instance de composant
| Non. | API et description | Exemple |
|---|---|---|
| 1 | $data Récupère l'objet data du composant. |
this.$data.count |
| 2 | $props Récupère l'objet props du composant. |
this.$props.msg |
| 3 | $el Récupère l'élément DOM sur lequel le composant est monté. |
this.$el |
| 4 | $options Récupère les options de configuration du composant. |
this.$options.name |
| 5 | $parent Récupère l'instance du composant parent. |
this.$parent |
| 6 | $root Récupère l'instance du composant racine. |
this.$root |
| 7 | $slots Récupère le contenu du slot du composant. |
this.$slots.default |
| 8 | $refs Récupère l'objet de référence du composant. |
this.$refs.input |
| 9 | $attrs Obtenir tous les attributs non liés aux props du composant. |
this.$attrs |
| 10 | $watch() Surveiller les données réactives ou les propriétés calculées de l'instance du composant. |
this.$watch('count', (newCount) => { console.log(newCount) }) |
| 11 | $emit() Émettre un événement personnalisé. |
this.$emit('update', newVal) |
| 12 | $forceUpdate() Forcer Vue à effectuer un nouveau rendu du composant. |
this.$forceUpdate() |
| 13 | $nextTick() Exécuter un callback après la fin du prochain cycle de mise à jour du DOM. |
this.$nextTick(() => { console.log('DOM updated') }) |