Maison interface Web Voir.js L'utilisation et les précautions de $refs dans Vue

L'utilisation et les précautions de $refs dans Vue

Jul 17, 2023 pm 04:07 PM
$refs的引用可能会失效等。

Utilisation et précautions de $refs dans Vue

Dans Vue, $refs est un attribut spécial utilisé pour accéder aux références à des composants ou des éléments. Grâce à $refs, nous pouvons facilement obtenir des instances d'éléments ou de sous-composants DOM et les exploiter et interagir avec eux. Cet article explique comment utiliser $refs et donne quelques éléments auxquels il faut prêter attention.

1. Utilisez $refs

  1. pour obtenir la référence de l'élément DOM

Dans le modèle, si vous ajoutez l'attribut ref à l'élément DOM, vous pouvez obtenir la référence de l'élément DOM via $refs. Par exemple :

<template>
  <div>
    <input ref="inputElement" type="text" />
    <button @click="focusInput">获取焦点</button>
  </div>
</template>

<script>
export default {
  methods: {
    focusInput() {
      this.$refs.inputElement.focus();
    }
  }
};
</script>
Copier après la connexion

Dans l'exemple ci-dessus, l'attribut ref est ajouté à l'élément d'entrée et nommé "inputElement". La référence à l'élément DOM peut être obtenue via this.$refs.inputElement, puis sa méthode focus est appelée pour obtenir le focus.

  1. Obtenir la référence du sous-composant

De même, nous pouvons également obtenir la référence du sous-composant via $refs et appeler des méthodes dans le sous-composant ou accéder à ses propriétés. Par exemple :

<template>
  <div>
    <child-component ref="childComponent"></child-component>
    <button @click="callChildMethod">调用子组件方法</button>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  methods: {
    callChildMethod() {
      this.$refs.childComponent.childMethod();
    }
  }
};
</script>
Copier après la connexion

Dans l'exemple ci-dessus, nous avons introduit un composant enfant appelé ChildComponent et l'avons utilisé dans le modèle. En ajoutant un attribut ref au composant enfant et en le nommant "childComponent", nous pouvons obtenir la référence au composant enfant via this.$refs.childComponent et appeler sa méthode childMethod.

2. Notes

  1. Calendrier de mise à jour de $refs

Il convient de noter que $refs est obtenu après le rendu de l'instance Vue. Cela signifie que $refs ne peut pas être obtenu correctement dans la fonction hook de cycle de vie créée à partir de l'instance Vue. Si vous devez utiliser $refs dans la création, vous pouvez retarder l'exécution via la fonction nextTick.

created() {
  this.$nextTick(() => {
    // 在这里可以正确获取到$refs
  });
}
Copier après la connexion
  1. La mise à jour dynamique de $refs

$refs ne sera définie et mise à jour que pendant le processus de rendu de l'instance de composant. Par conséquent, les éléments DOM générés dynamiquement à l'aide de v-if ou v-for dans le modèle ne peuvent pas être transmis. $ Obtenu à partir des réf. Si vous devez mettre à jour dynamiquement $refs, vous pouvez utiliser l'attribut key.

<template>
  <div>
    <child-component v-if="showChild" :key="uniqueKey" ref="childComponent"></child-component>
    <button @click="toggleChild">切换子组件</button>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      showChild: true,
      uniqueKey: 0
    };
  },
  methods: {
    toggleChild() {
      this.showChild = !this.showChild;
      this.uniqueKey += 1;
    },
    callChildMethod() {
      this.$refs.childComponent.childMethod();
    }
  }
};
</script>
Copier après la connexion

Dans l'exemple ci-dessus, en ajoutant l'attribut key au sous-composant et en le liant à la variable uniqueKey, la mise à jour dynamique de $refs peut être déclenchée lors du changement de sous-composant.

3. Résumé

$refs est une fonctionnalité très pratique de Vue, qui peut facilement obtenir des références à des éléments ou sous-composants du DOM, et les utiliser et interagir avec eux. Lorsque vous utilisez $refs, vous devez faire attention à son timing de mise à jour et à sa méthode de mise à jour dynamique. J'espère que l'introduction de cet article pourra vous aider à mieux utiliser et comprendre la fonctionnalité $refs dans Vue.

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Quelle est la méthode de conversion des chaînes Vue.js en objets? Quelle est la méthode de conversion des chaînes Vue.js en objets? Apr 07, 2025 pm 09:18 PM

L'utilisation de la chaîne JSON.Parse () à l'objet est la plus sûre et la plus efficace: assurez-vous que les chaînes sont conformes aux spécifications JSON et évitez les erreurs courantes. Utilisez Try ... Catch pour gérer les exceptions pour améliorer la robustesse du code. Évitez d'utiliser la méthode EVAL (), qui présente des risques de sécurité. Pour les énormes cordes JSON, l'analyse de fouet ou l'analyse asynchrone peut être envisagée pour optimiser les performances.

Vue.js vs react: Considérations spécifiques au projet Vue.js vs react: Considérations spécifiques au projet Apr 09, 2025 am 12:01 AM

Vue.js convient aux projets de petite et moyenne taille et aux itérations rapides, tandis que React convient aux applications grandes et complexes. 1) Vue.js est facile à utiliser et convient aux situations où l'équipe est insuffisante ou l'échelle du projet est petite. 2) React a un écosystème plus riche et convient aux projets avec des performances élevées et des besoins fonctionnels complexes.

Vue.js est-il difficile à apprendre? Vue.js est-il difficile à apprendre? Apr 04, 2025 am 12:02 AM

Vue.js n'est pas difficile à apprendre, en particulier pour les développeurs avec une fondation JavaScript. 1) Sa conception progressive et son système réactif simplifient le processus de développement. 2) Le développement basé sur les composants rend la gestion du code plus efficace. 3) Les exemples d'utilisation montrent une utilisation de base et avancée. 4) Les erreurs courantes peuvent être déboguées via Vuedevtools. 5) L'optimisation des performances et les meilleures pratiques, telles que l'utilisation des attributs V-IF / V et clés, peuvent améliorer l'efficacité de l'application.

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Vue est-elle utilisée pour le frontend ou le backend? Vue est-elle utilisée pour le frontend ou le backend? Apr 03, 2025 am 12:07 AM

Vue.js est principalement utilisé pour le développement frontal. 1) Il s'agit d'un cadre JavaScript léger et flexible axé sur la construction d'interfaces utilisateur et d'applications à une seule page. 2) Le cœur de Vue.js est son système de données réactif, et la vue est automatiquement mise à jour lorsque les données changent. 3) Il prend en charge le développement des composants et l'interface utilisateur peut être divisée en composants indépendants et réutilisables.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

See all articles