首页 > 其他分享 >vue--创建日历

vue--创建日历

时间:2022-11-10 01:55:05浏览次数:37  
标签:vue return -- 日历 currentYear num Date new currentMonth

 

 

 

css使用

tailwindcss   <script src="https://cdn.tailwindcss.com"></script>         全部代码
<template>
    <div class="m-auto">
        <h1 class="text-2xl my-2 text-center">Vue Calendar</h1>
        <div class="mx-2 flex justify-between">
            <h2 class="font-bold">{{currentMonthName}}</h2>
            <h2 class="font-bold">{{currentYear}}</h2>
        </div>
        <section class="flex">
            <p class="text-center" style="width:14.28%" v-for="day in days" :key="day">{{day}}</p>
        </section>
        <section class="flex flex-wrap">
            <p class="text-center" style="width:14.28%" v-for="num in startDay()" :key="num"></p>
            <p class="text-center" style="width:14.28%" v-for="num in daysInMonth()" :key="num" :class="currenDateClass(num)">{{num}}</p>
        </section>
        <section class="flex justify-between my-4">
            <button class="px-2 border rounded" @click="prev()">Prev</button>
            <button class="px-2 border rounded" @click="next()">Next</button>
        </section>
        {{currentDate}}
    </div>
</template>

<script>
export default {
    data(){
        return{
            currentDate:new Date().getUTCDate(),
            currentMonth:new Date().getMonth(),
            currentYear:new Date().getFullYear(),
            days:['Sun','Mon','Tue','Wed','Thu','Fir','Sat']
        }
    },
    methods:{
        daysInMonth(){
            // const month=new Date().getMonth()+1;
            return new Date(this.currentYear,this.currentMonth+1,0).getDate();
        },

        startDay(){
        return new Date(this.currentYear,this.currentMonth,1).getDay();
    },
        next(){
            if(this.currentMonth==11){
                this.currentMonth=0;
                this.currentYear++;
            }else{
                this.currentMonth++;
            }
        },
        prev(){
            if(this.currentMonth==0){
                this.currentMonth=11;
                this.currentYear--;
            }else{
                this.currentMonth--;
            }
        },
        currenDateClass(num){
            console.log(new Date(this.currentYear,this.currentMonth,num).toDateString());
            console.log(new Date());
            const calenderFullDate=new Date(this.currentYear,this.currentMonth,num).toDateString();
            const currentFullDate=new Date().toDateString()
            return calenderFullDate==currentFullDate?'text-yellow-600':'';
        }
    },
    computed:{
        currentMonthName(){
            return  new Date(this.currentYear,this.currentMonth).toLocaleString('default',{month:'long'})
        }
    }

}
</script>

<style>

</style>

 

             

标签:vue,return,--,日历,currentYear,num,Date,new,currentMonth
From: https://www.cnblogs.com/hechunfeng/p/16875759.html

相关文章

  • 基于Python的批量处理execl文件内容
    今天遇到一个棘手的问题,在三个文件夹中将近60个execl表选出所需的特定三列数据,且表名,sheet名,表中的数据类型均不一致,故想到利用Python批量化处理技术手段进行处理。其原理......
  • Spring Security 知识点总结
    Security部分WebSecurityConfigurerAdaptersecurity配置的核心类在这里配置权限等信息authenticationauthentication是认证(登陆)authorizationauthorizati......
  • Stream
    Stream概括的的将Stream可以分为三种类型创建Stream流:主要负责新建一个Stream流,或者基于现有的数组、List、Set、Map等集合类型对象创建出新的Stream流。API功......
  • swiper轮播图实例问题
     问题:1.3:初始化swiper实例在哪里书写?初始化swiper实例之前,页面中的节点(结构)务必要有,对于Vue一个组件而言,mounted[组件挂载完毕:相应的结构不就有了吗]mounted-......
  • 文件及目录操作
    实例1、创建并打开记录蚂蚁庄园动态的文件print("\n","="*10,"蚂蚁庄园动态","="*10)file=open('message.txt','w')print("\n即将显示……\n")  实例2、向蚂蚁庄园的......
  • C系统级编程-复习
    数组对象类型ArrayofType,它是多个相同对象类型的一维派生类型,包含两要素:元素个数,元素的对象类型所谓多维数组,不过是元素的迭代衍生,本质还是一维的声明对象标识......
  • 浅谈PHP设计模式的迭代器模式
    简介:迭代器模式,是行为型的设计模式。提供一中方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。适用场景:除了学习,在PHP中几乎没有应用场景。优......
  • 常用dos命令
    快捷键ctrl+c复制ctrl+v粘贴ctrl+a全选ctrl+x剪切ctrl+z撤销ctrl+s保存alt+f4关闭窗口shift+delete永久删除windows+r运行windows+e我的电脑ctrl+shift+esc......
  • Diff算法以及key值不建议使用index问题
    title:Diff算法以及key值为什么不建议使用index个人对diff算法一直都是一知半解,没有系统的去了解去尝试去理解,这里就对diff算法初级理论进行一个掌握,当个人能力水平更近......
  • ed25519加密签名算法及应用
    刷知乎时看到一篇文章,很感兴趣,来学习一下!转载文章:ed25519加密签名算法及应用初次使用Github时都需上传本地的公钥,这时需要提前在本地生成密钥对,使用的是ssh-keygen命令......