vue-event-calendar
A simple events calendar for Vue2, no dependencies except Vue2. responsive & mobile first.
Live Demo Here
中文文档
Requirements
Usage
install
npm install vue-event-calendar --save
main.js
import 'vue-event-calendar/dist/style.css'
import vueEventCalendar from 'vue-event-calendar'
Vue.use(vueEventCalendar, {locale: 'en'})
file.vue
<template>
<vue-event-calendar :events="demoEvents"></vue-event-calendar>
</template>
<script>
export default {
data () {
return {
demoEvents: [{
date: '2016/12/15',
title: 'Foo',
desc: 'longlonglong description'
},{
date: '2016/11/12',
title: 'Bar'
}]
}
}
}
</script>
Customization
If you want customization event template. required Vue: ^2.1.0. Because I use new feature(Scoped Slots) of ^2.1.0
Customization color
Vue.use(vueEventCalendar, {locale: 'en', color: '#4fc08d'})
Customization event template
<template>
<vue-event-calendar :events="demoEvents">
<template scope="props">
<div v-for="(event, index) in props.showEvents" class="event-item">
<!-- In here do whatever you want, make you owner event template -->
{{event}}
</div>
</template>
</vue-event-calendar>
</template>
<script>
export default {
data () {
return {
demoEvents: [{
date: '2016/12/15',
title: 'eat',
desc: 'longlonglong description'
},{
date: '2016/11/12',
title: 'this is a title'
}]
}
}
}
</script>
Component Events
Can handle two Events, @day-changed and @month-changed, callback params like {date: '2017/06/23', events: []}
.
<template>
<vue-event-calendar
:events="demoEvents"
@day-changed="handleDayChanged"
@month-changed="handleMonthChanged">
</vue-event-calendar>
</template>
API
this.$EventCalendar.nextMonth()
this.$EventCalendar.preMonth()
this.$EventCalendar.toDate('2016/11/12')
More in Demo Folder
Develop
npm run dev //develop
npm run build //production
Change log
1.3.6 -> 1.4.0
- Remove today background, use a small dot below the date
- Increase the selected date style