Maison interface Web tutoriel CSS Laisse faire un calendrier mensuel alimenté par Vue

Laisse faire un calendrier mensuel alimenté par Vue

Apr 02, 2025 pm 12:48 PM

Ce tutoriel de calendrier mensuel propulsé Vue.js montre la construction d'un composant de calendrier réutilisable. Décomposons le processus, en nous concentrant sur la clarté et la concision. Le texte original était assez détaillé, donc cette version vise une explication plus rationalisée.

Faisons un calendrier mensuel alimenté par Vue

Ce tutoriel montre comment créer un composant Vue.js pour une vue de calendrier mensuelle, en évitant la complexité des plugins ou des calendriers externes. L'objectif est une application à une seule page qui a obtenu des données de calendrier de la bibliothèque Lightweight Day.js. Les caractéristiques clés comprennent:

  • Voir le mois Grille affichant les jours du mois en cours.
  • Affichage complet de la grille, y compris les jours précédents et le mois prochain.
  • Date actuelle mettant en évidence.
  • Affichage du nom du mois sélectionné.
  • Navigation précédente / le mois prochain.
  • Bouton "Aujourd'hui" pour la navigation rapide jusqu'au mois en cours.

Étape 1: Marquage de base (calendarmonth.vue)

La structure du calendrier est divisée en trois sections: un en-tête (montrant le mois et les contrôles de navigation), un en-tête en semaine et la grille du calendrier principal. Ceci est représenté dans un modèle de base:

<template>
  <div>
    <div>
      <calendar-date-indicator :selected-date="selectedDate"></calendar-date-indicator>
      <calendar-date-selector :current-date="today" :selected-date="selectedDate"></calendar-date-selector>
    </div>
    <calendar-weekdays></calendar-weekdays>
    <ol>
      <calendar-month-day-item v-for="day in days" :key="day.date" :day="day" :is-today="day.date === today" :is-current-month="day.isCurrentMonth"></calendar-month-day-item>
    </ol>
  </div>
</template>
Copier après la connexion

Étape 2: Composants d'en-tête

Deux composants gèrent l'en-tête:

  • CalendardateIndicator: Affiche le mois sélectionné en utilisant Day.js Formatting.
  • CalendaSeElector: fournit des boutons pour naviguer vers la précédente, le courant et le mois prochain. Il émet des événements pour mettre à jour la date sélectionnée dans le composant parent.

Étape 3: Composants de la grille de calendrier

Deux autres composants gèrent la grille:

  • Calendarweekdays: affiche les noms abrégés des jours de semaine (lun, mar, etc.).
  • CalendarmonthDayItem: représente une seule journée dans la grille, mettant en évidence la date actuelle.

Étape 4: générer des données de calendrier

La logique de base implique d'utiliser day.js pour générer dynamiquement les données du calendrier. Cela comprend:

  • Déterminer le nombre de jours dans le mois sélectionné.
  • Calcul des jours à partir des précédents et prochains mois nécessaires pour remplir la grille.
  • Combiner ces jours en un seul tableau pour le rendu.

Les plugins de jour.js ( weekday et weekOfYear ) sont utilisés pour déterminer le jour de départ de la semaine et positionner correctement les dates dans la grille. Le calcul consiste à déterminer le jour de la semaine des premier et dernier jours du mois pour ajouter correctement les jours de tête et de traîne à partir des mois adjacents.

Cette explication rationalisée donne un aperçu de haut niveau de la construction du calendrier, en se concentrant sur les composants clés et leurs interactions. Les extraits de code détaillés du tutoriel d'origine sont condensés pour brièveté. Reportez-vous à l'original pour l'implémentation complète du code.

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.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Construire une application Ethereum à l'aide de Redwood.js et de la faune Construire une application Ethereum à l'aide de Redwood.js et de la faune Mar 28, 2025 am 09:18 AM

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Que diable sont les commandes NPM? Que diable sont les commandes NPM? Mar 15, 2025 am 11:36 AM

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

Comment utilisez-vous CSS pour créer des effets de texte, tels que des ombres de texte et des gradients? Comment utilisez-vous CSS pour créer des effets de texte, tels que des ombres de texte et des gradients? Mar 14, 2025 am 11:10 AM

L'article discute de l'utilisation de CSS pour les effets de texte comme les ombres et les gradients, les optimiser pour les performances et l'amélioration de l'expérience utilisateur. Il répertorie également les ressources pour les débutants (159 caractères)

Créer votre propre bragdoc avec Eleventy Créer votre propre bragdoc avec Eleventy Mar 18, 2025 am 11:23 AM

Quelle que soit le stade dans lequel vous vous trouvez en tant que développeur, les tâches que nous effectuons - qu'elles soient grandes ou petites - ont un impact énorme dans notre croissance personnelle et professionnelle.

Utilisons (x, x, x, x) pour parler de spécificité Utilisons (x, x, x, x) pour parler de spécificité Mar 24, 2025 am 10:37 AM

Je discutais avec Eric Meyer l'autre jour et je me suis souvenu d'une histoire d'Eric Meyer de mes années de formation. J'ai écrit un article de blog sur la spécificité CSS, et

See all articles