Maison  >  Article  >  interface Web  >  Comment obtenir l'objet click dom dans vue

Comment obtenir l'objet click dom dans vue

PHPz
PHPzoriginal
2023-04-26 16:58:281865parcourir

Vue.js est un framework JavaScript populaire qui fournit de nombreuses fonctionnalités puissantes qui rendent le développement d'applications Web plus facile et plus efficace. L'une des fonctionnalités importantes est la possibilité d'obtenir des objets DOM cliqués, examinons cette fonctionnalité de plus près.

Pour les développeurs Vue.js, obtenir des objets DOM cliqués est une tâche très importante. Parce que dans les applications Web, nous avons souvent besoin de savoir sur quel élément DOM l'utilisateur a cliqué afin de pouvoir répondre de manière appropriée à cet élément. Vue.js propose plusieurs méthodes pour obtenir les objets DOM cliqués. Nous les expliquerons une par une comme suit.

  1. Utiliser la liaison d'événement

Vue.js fournit une liaison d'événement @click qui peut être utilisée pour lier un clic événement à l’élément. Dans le gestionnaire d'événements, nous pouvons accéder à l'objet événement et obtenir l'élément cible (c'est-à-dire l'élément cliqué) à partir de l'objet événement. @click事件绑定,可以用于在元素上绑定一个单击事件。在事件处理程序中,我们可以访问事件对象,并从事件对象中获取目标元素(即被单击的元素)。

举个例子,如果我们想在用户单击一个按钮时获取该按钮的DOM对象,可以这样写:

<template>
  <button @click="handleClick">点击我</button>
</template>

<script>
export default {
  methods: {
    handleClick(event) {
      console.log(event.target)
    },
  },
}
</script>

在上面的示例中,我们为按钮添加了一个单击事件绑定,当用户单击该按钮时,handleClick方法将被调用,并将event对象作为参数传递给该方法。在handleClick方法中,我们可以通过访问event.target属性来获取被单击的按钮的DOM对象。

  1. 使用ref引用

除了事件绑定外,Vue.js还提供了一个ref标记,可以用于在模板中引用一个元素。使用ref标记可以在Vue.js组件中任意访问该元素的DOM对象。

假设我们有一个输入框并想在用户输入时获取该输入框的DOM对象,可以这样写:

<template>
  <div>
    <label>请输入姓名:</label>
    <input ref="inputName" type="text" @input="handleInput" />
  </div>
</template>

<script>
export default {
  methods: {
    handleInput() {
      console.log(this.$refs.inputName)
    },
  },
}
</script>

在上面的示例中,我们使用ref属性引用了输入框,并将其命名为inputName。在handleInput方法中,我们可以通过this.$refs.inputName访问该输入框的DOM对象。通过$refs属性可以在Vue.js组件中访问ref引用的所有元素。

  1. 使用自定义指令

除了上述两种方法外,Vue.js还提供了一个自定义指令,可以用于获取被单击的DOM对象。该指令可以在全局或局部注册,并按如下方式使用:

<template>
  <button v-click="handleClick">点击我</button>
</template>

<script>
Vue.directive('click', {
  bind(el, binding, vnode) {
    el.addEventListener('click', () => {
      binding.value(el)
    })
  },
})

export default {
  methods: {
    handleClick(el) {
      console.log(el)
    },
  },
}
</script>

在上面的示例中,我们定义了一个自定义指令v-click,该指令在元素被单击时调用绑定的方法。在指令的bind方法中,我们为元素添加了一个单击事件监听器,并在触发事件时调用绑定值。在模板中,我们使用v-click指令将方法绑定到按钮上,并将被单击的元素作为参数传递给该方法。

总结

获取点击DOM对象是Vue.js开发中常见的任务。本文介绍了Vue.js中的几种获取点击DOM对象的方法,分别是事件绑定、使用ref

Par exemple, si nous voulons récupérer l'objet DOM d'un bouton lorsque l'utilisateur clique dessus, nous pouvons écrire comme ceci : #🎜🎜#rrreee#🎜🎜#Dans l'exemple ci-dessus, nous sommes Le bouton ajoute une liaison d'événement de clic lorsque l'utilisateur clique sur le bouton, la méthode handleClick sera appelée et l'objet event est transmis à la méthode en tant que paramètre. Dans la méthode handleClick, nous pouvons obtenir l'objet DOM du bouton cliqué en accédant à la propriété event.target. #🎜🎜#
    #🎜🎜#Utiliser la référence de référence#🎜🎜##🎜🎜##🎜🎜#En plus de la liaison d'événement, Vue.js fournit également une ref Le La balise code> peut être utilisée pour référencer un élément dans un modèle. Utilisez la balise <code>ref pour accéder à l'objet DOM de l'élément dans le composant Vue.js. #🎜🎜##🎜🎜#Supposons que nous ayons une zone de saisie et que nous souhaitions obtenir l'objet DOM de la zone de saisie lorsque l'utilisateur entre, vous pouvez écrire comme ceci : #🎜🎜#rrreee#🎜🎜#Dans l'exemple ci-dessus, nous utilisons ref fait référence à la zone de saisie et la nomme inputName. Dans la méthode handleInput, nous pouvons accéder à l'objet DOM de la zone de saisie via this.$refs.inputName. Tous les éléments référencés par ref sont accessibles dans le composant Vue.js via l'attribut $refs. #🎜🎜#
      #🎜🎜#Utiliser des directives personnalisées#🎜🎜##🎜🎜##🎜🎜#En plus des deux méthodes ci-dessus, Vue.js fournit également une directive personnalisée, Peut être utilisé pour obtenir l'objet DOM cliqué. La directive peut être enregistrée globalement ou localement et utilisée comme suit : #🎜🎜#rrreee#🎜🎜#Dans l'exemple ci-dessus, nous avons défini une directive personnalisée v-click qui La méthode liée est appelée lorsque le l’élément est cliqué. Dans la méthode bind de la directive, nous ajoutons un écouteur d'événement click à l'élément et appelons la valeur liée lorsque l'événement est déclenché. Dans le modèle, nous utilisons la directive v-click pour lier une méthode au bouton et transmettre l'élément cliqué en tant que paramètre à la méthode. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#Obtenir des objets DOM cliqués est une tâche courante dans le développement de Vue.js. Cet article présente plusieurs méthodes dans Vue.js pour obtenir des objets DOM cliqués, à savoir la liaison d'événements, en utilisant des références ref et des instructions personnalisées. En pratique, nous pouvons choisir la méthode la mieux adaptée au scénario actuel et procéder aux ajustements appropriés en fonction de ses caractéristiques et de ses limites. J'espère que cet article pourra être utile aux développeurs Vue.js. #🎜🎜#

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