VUE实现日历组件功能


Posted in Javascript onMarch 13, 2017

哈哈, 就在昨天笔者刚刚在Github 上发布了一个基于VUE的日历组件。过去做日历都是需要引用 jquery moment 引用 fullCalendar.js 的。几者加起来体积庞大不说,也并不是很好使用在vue这种数据驱动的项目里。所以笔者经过一周的拍脑袋,做了一个十分简陋的版本。

VUE实现日历组件功能

简介

目前只支持月视图,该组件是 .vue 文件的形式。所以,大家在使用的时候 是需要node的咯~~~

安装

npm install vue-fullcalendar

DEMO

针对这个组件, 本人做了一个十分简单的 demo。进入到该项目后

npm install
npm run dev

然后打开浏览器 输入 localhost:8080 你应该就能看到demo啦

使用

大致了解后肯定是使用的问题啦,你只需要把这个组件引入到你自己的vue项目中就可以自由使用啦,因为现在是比较初步的版本。所以笔者十分鼓励大家针对自己的需求做二次开发,

import fullcalendar from 'vue-fullcalendar'

API

既然是组件,笔者自然预先定义了一些小属性。不过不用担心,都是基于VUE的

props

1、events 是该组件唯一接受的参数 用来表示该日历上的所有日程事件,他的格式应该如下

events = [
     {
      title : 'event1',
      start: '2016-07-01',
      YOUR_DATA : {}
     },
     {
      title : 'event2',
      start : '2016-07-02',
      end : '2016-07-03',
      YOUR_DATA : {}
     }
   ]

title 自然就是事件的标题啦 会直接显示在日历上

start 事件的开始日期 必填哦

end 事件的结束日期 没填就默认是开始日期

YOUR_DATA 你自己定义的一些数据 变量名随意 在后续都会被vue的广播事件传递

events

这里的events 可不是上面说的 props 里的events 哦 而是 你在使用日历 时 一些行为的 反馈。 比如你点击 某一天 某个时间 日历组件都会向外部 dispatch 一个对应的事件和相应的参数

'changeMonth' 事件, 当你切换月份时触发

this.$dispatch('changeMonth', start, end)

start 是这个月视图(并不是这个月)的第一天 yyyy-MM-dd

end 是这个月视图(并不是这个月)的最后一天 yyyy-MM-dd

'eventClick' : 当你点击某个日历事件时触发

this.$dispatch('eventClick', event, jsEvent, pos)

event 就是这个日历事件对象啦 参考 上面的props

jsEvent 这次点击的原生 javascript 事件

pos 这个事件的相对于日历的相对坐标 在slot中使用

'dayClick' : 当你点击某一天触发

this.$dispatch('eventClick', day, jsEvent)

day 你点击的这一天的 Date 对象

jsEvent 这次点击的原生 javascript 事件

slots

为了方便开发者的自由定制我在组件中加了很多slots 来填写大家自己需要的东西 比如 事件卡片 筛选器,下图是一张我自己项目的 事件卡片 和筛选。当然我并没有把他们放进组件里。 I find my roof, you find yours.

VUE实现日历组件功能

结尾

因为这个组件还是比较初级的阶段,可能有不少问题,所以十分鼓励大家提issue或是下载后根据自己的需求二次开发。

demo下载:vue-fullcalendar_3water.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE中createElement需要注意的一个问题
Jul 13 Javascript
CheckBoxList多选样式jquery、C#获取选择项
Sep 06 Javascript
jQuery 遍历函数详解
Jul 05 Javascript
基于Angularjs实现分页功能
May 30 Javascript
javascript跨域请求包装函数与用法示例
Nov 03 Javascript
jquery实现输入框实时输入触发事件代码
Dec 21 Javascript
js面向对象编程总结
Feb 16 Javascript
AngularJS的ng-click传参的方法
Jun 19 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
js前端导出Excel的方法
Nov 01 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
vue3实现v-model原理详解
Oct 09 Javascript
JS正则表达式判断有效数实例代码
Mar 13 #Javascript
又一款MVVM组件 构建自己的Vue组件(2)
Mar 13 #Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
Mar 13 #Javascript
干货!教大家如何选择Vue和React
Mar 13 #Javascript
JavaScript 数据类型详解
Mar 13 #Javascript
Java与JavaScript中判断两字符串是否相等的区别
Mar 13 #Javascript
Javascript中字符串相关常用的使用方法总结
Mar 13 #Javascript
You might like
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
2015/03/04 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
新手如何快速理解js异步编程
2019/06/24 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
python3 实现对图片进行局部切割的方法
2018/12/05 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
便利店促销方案
2014/02/20 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
2014年环保工作总结
2014/11/26 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
python小程序之飘落的银杏
2021/04/17 Python
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技