Table des matières
1. Analyse des exigences
Avant de commencer à développer le composant slider, nous devons nous assurer que l'environnement de développement Vue a été installé et créer un projet.
Ensuite, nous commençons à écrire le code du composant slider. Tout d'abord, créez un fichier Slider.vue dans le répertoire src/components et écrivez-y le modèle, le style et la logique du composant.
Dans le modèle, nous utilisons un .slider-wrapper externe, qui contient un .slider pour afficher le curseur, et utilise la directive :value pour lier la position du curseur (via l'implémentation de la propriété calculée sliderStyle) , et il existe également un .value utilisé pour afficher la valeur représentée par le curseur.
Dans le style, nous avons ajouté les styles nécessaires pour le composant de curseur et l'affichage numérique, et défini la largeur, la hauteur, la couleur d'arrière-plan, les coins arrondis, etc. du conteneur.
Dans la partie logique, nous définissons les données initiales du composant, notamment s'il glisse (isDragging), la valeur initiale du curseur (value) et le style du curseur (sliderStyle). Parmi eux, la position du curseur est implémentée à l'aide de propriétés calculées, calculées via la marge gauche : left: 'calc(' + this.value + '% - 10px)'.
四、组件使用
Maison interface Web Voir.js Vue en action : développement de composants de curseur

Vue en action : développement de composants de curseur

Nov 24, 2023 am 09:24 AM
vue 实战 Composant curseur

Vue en action : développement de composants de curseur

Vue en action : Développement du composant Slider

Introduction : Le composant Slider est l'un des composants d'interaction utilisateur courants et est largement utilisé dans les pages Web, les applications mobiles et les applications de bureau. Cet article implémentera un simple composant de curseur via le framework Vue pour aider les lecteurs à comprendre comment développer des composants personnalisés et démontrer le processus d'implémentation à travers des exemples de code spécifiques.

1. Analyse des exigences

Le composant de curseur que nous souhaitons développer a les fonctions suivantes :

  • Curseur déplaçable : l'utilisateur peut faire glisser le curseur avec la souris, et la position du curseur sera modifiée lors du glissement ; Affichage de la valeur : La valeur représentée par le curseur doit être affichée en temps réel à côté du curseur ;
  • Fonction de rappel : Lorsque la valeur du curseur change, la fonction de rappel doit être exécutée.
  • 2. Préparation du développement

Avant de commencer à développer le composant slider, nous devons nous assurer que l'environnement de développement Vue a été installé et créer un projet.

# 安装Vue开发环境
$ npm install vue

# 创建Vue项目
$ vue create slider-demo
Copier après la connexion

3. Développement de composants

Ensuite, nous commençons à écrire le code du composant slider. Tout d'abord, créez un fichier Slider.vue dans le répertoire src/components et écrivez-y le modèle, le style et la logique du composant.

Modèle :

<template>
  <div class="slider-wrapper">
    <div class="slider" :style="sliderStyle" @mousedown="handleMouseDown" @mousemove="handleMouseMove" @mouseup="handleMouseUp"></div>
    <div class="value">{{ value }}</div>
  </div>
</template>
Copier après la connexion

Dans le modèle, nous utilisons un .slider-wrapper externe, qui contient un .slider pour afficher le curseur, et utilise la directive :value pour lier la position du curseur (via l'implémentation de la propriété calculée sliderStyle) , et il existe également un .value utilisé pour afficher la valeur représentée par le curseur.

Style :

<style scoped>
.slider-wrapper {
  position: relative;
  width: 400px;
  height: 40px;
  background-color: #eee;
  border-radius: 20px;
  margin: 20px;
}
.slider {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: #007bff;
  border-radius: 50%;
  cursor: pointer;
}
.value {
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translateY(-50%);
  font-size: 16px;
}
</style>
Copier après la connexion

Dans le style, nous avons ajouté les styles nécessaires pour le composant de curseur et l'affichage numérique, et défini la largeur, la hauteur, la couleur d'arrière-plan, les coins arrondis, etc. du conteneur.

Logique :

<script>
export default {
  name: 'Slider',
  data() {
    return {
      isDragging: false,
      value: 50,
      sliderStyle: {
        left: 'calc(' + this.value + '% - 10px)'
      }
    }
  },
  methods: {
    handleMouseDown() {
      this.isDragging = true;
    },
    handleMouseMove(event) {
      if (this.isDragging) {
        const rect = this.$el.getBoundingClientRect();
        const offsetX = event.clientX - rect.left;
        const newValue = Math.round(offsetX / rect.width * 100);
        this.value = Math.max(0, Math.min(newValue, 100));
        this.sliderStyle.left = 'calc(' + this.value + '% - 10px)';
        this.$emit('change', this.value);
      }
    },
    handleMouseUp() {
      this.isDragging = false;
    }
  }
}
</script>
Copier après la connexion

Dans la partie logique, nous définissons les données initiales du composant, notamment s'il glisse (isDragging), la valeur initiale du curseur (value) et le style du curseur (sliderStyle). Parmi eux, la position du curseur est implémentée à l'aide de propriétés calculées, calculées via la marge gauche : left: 'calc(' + this.value + '% - 10px)'.

De plus, nous avons également implémenté trois méthodes : handleMouseDown est utilisé pour modifier la valeur de isDragging lorsque la souris est enfoncée, handleMouseMove est utilisé pour calculer la position du curseur, mettre à jour la valeur du curseur et déclencher l'événement de changement lorsque la souris est déplacée. , handleMouseUp est utilisé pour relâcher la souris lors de la modification de la valeur de isDragging. left: 'calc(' + this.value + '% - 10px)'

此外,我们还实现了三个方法:handleMouseDown用于鼠标按下时改变isDragging的值,handleMouseMove用于鼠标移动时计算滑块位置、更新滑块数值并触发change事件,handleMouseUp用于鼠标松开时改变isDragging的值。

最后,我们通过this.$emit('change', this.value);来触发change事件并传递滑块的数值。

四、组件使用

在完成组件的开发后,我们可以在其他页面中使用该滑块组件。

<template>
  <div>
    <Slider @change="handleChange" />
  </div>
</template>

<script>
import Slider from './components/Slider.vue';

export default {
  name: 'App',
  components: {
    Slider
  },
  methods: {
    handleChange(value) {
      console.log('滑块数值发生变化:', value);
    }
  }
}
</script>
Copier après la connexion

在上述代码中,我们首先导入Slider组件,然后在模板中使用<slider></slider>

Enfin, nous déclenchons l'événement change et passons la valeur du curseur via this.$emit('change', this.value);.

4. Utilisation du composant

Après avoir terminé le développement du composant, nous pouvons utiliser le composant slider dans d'autres pages.

rrreee

Dans le code ci-dessus, nous importons d'abord le composant Slider, puis utilisons le composant dans le modèle en utilisant <slider></slider>. Dans le même temps, nous avons défini une méthode handleChange pour gérer la fonction de rappel lorsque la valeur du curseur change. 🎜🎜5. Résumé🎜🎜Grâce aux exemples de code ci-dessus, nous avons développé avec succès un composant de curseur simple et l'avons appliqué à d'autres pages. Grâce à cet exemple, nous avons appris à utiliser le framework Vue pour développer des composants personnalisés, à implémenter la fonction de glissement du curseur via des fonctions de hook (mousedown, mousemove, mouseup), et à utiliser les propriétés calculées pour mettre à jour la position du curseur en temps réel. temps. 🎜🎜Bien sûr, il ne s'agit que d'un exemple simple, et des fonctions et un traitement de style plus complexes peuvent être nécessaires dans le développement réel. Cependant, grâce aux conseils de cet article, j'espère que les lecteurs pourront maîtriser les méthodes de développement de composants personnalisés dans le framework Vue et être capables de les développer et de les optimiser dans des projets réels. Je vous souhaite à tous plus de succès dans le développement de 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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

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)

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

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.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

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.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Comment interroger la version de Vue Comment interroger la version de Vue Apr 07, 2025 pm 11:24 PM

Vous pouvez interroger la version Vue en utilisant Vue Devtools pour afficher l'onglet Vue dans la console du navigateur. Utilisez NPM pour exécuter la commande "NPM List -g Vue". Recherchez l'élément VUE dans l'objet "dépendances" du fichier package.json. Pour les projets Vue CLI, exécutez la commande "Vue --version". Vérifiez les informations de la version dans le & lt; script & gt; Tag dans le fichier html qui fait référence au fichier VUE.

Comment utiliser la fonction interception vue Comment utiliser la fonction interception vue Apr 08, 2025 am 06:51 AM

L'interception de la fonction dans Vue est une technique utilisée pour limiter le nombre de fois qu'une fonction est appelée dans une période de temps spécifiée et prévenir les problèmes de performance. La méthode d'implémentation est: Importer la bibliothèque Lodash: import {Debounce} de 'Lodash'; Utilisez la fonction Debounce pour créer une fonction d'interception: const debouncedFunction = Debounce (() = & gt; {/ logical /}, 500); Appelez la fonction d'interception et la fonction de contrôle est appelée au plus une fois en 500 millisecondes.

See all articles