Vue Component
To demonstrate, let's create a simple Vue component for Vanilla Calendar Pro. Create a file named VanillaCalendar.vue
and copy the following code into it:
<script setup lang="ts">
import { onMounted, ref, useAttrs } from 'vue';
import { Calendar, Options } from 'vanilla-calendar-pro';
import 'vanilla-calendar-pro/styles/index.css'
const calendarRef = ref(null);
const attributes = useAttrs();
const { config } = defineProps<{ config?: Options }>();
onMounted(() => {
if (!calendarRef.value) return;
const calendar = new Calendar(calendarRef.value, config);
calendar.init();
});
</script>
<template>
<div v-bind="attributes" ref="calendarRef"></div>
</template>
Then import the created VanillaCalendar
component into your Vue application where you want to display the calendar.
<script setup lang="ts">
// ...
import VanillaCalendar './VanillaCalendar.vue';
// ...
</script>
Use the created component.
<template>
<!-- -->
<VanillaCalendar />
<!-- -->
</template>
The VanillaCalendar
component can accept any HTML attributes supported by the <div>
tag, as well as the config
parameter for calendar configuration.
<template>
<!-- -->
<VanillaCalendar :config="{ type: 'multiple' }" />
<!-- -->
</template>