在Vue框架下使用Fullcalendar


原文:https://www.helloweba.net/javascript/621.html

Fullcalendar是一個非常受歡迎的日歷日程處理的js組件,它功能強大,文檔齊全,可定制化高,可與你的項目無縫對接。本站之前有很多文章介紹了Fullcalendar(v3)的使用。今天我們來看看如何在Vue框架下使用Fullcalendar。

安裝Fullcalendar

首先第一步當然是安裝FullCalendar相關的依賴。我們需要安裝Vue適配、核心包以及任何你想添加的功能插件。

npm install --save @fullcalendar/vue @fullcalendar/core @fullcalendar/daygrid @fullcalendar/interaction

FullCalendar v4以核心代碼和插件形式提供給用戶安裝,因此我們需要哪些功能,就直接安裝對應的插件即可。使用時可以參照:功能插件列表

如何使用

首先我們建立一個Main.vue文件,在模板中編寫:

<FullCalendar defaultView="dayGridMonth" locale="zh-cn" firstDay="1" weekNumberCalculation="ISO" :eventTimeFormat="evnetTime" :header="header" @dateClick="handleDateClick" :plugins="calendarPlugins" :events="calendarEvents" @eventClick="handleEventClick" /> 

我們在<template/>中定義了<FullCalendar/>組件,包括屬性和方法。

defaultView:表示當前默認使用的是月份視圖,就是看到的是一個月的視圖。還有日視圖和周視圖等。

locale:本地化,我們使用中文簡體。

firstDay:一周的第一天,我們中文習慣是星期一是一周的第一天。

weekNumberCalculation:與firstDay配合,設置成ISO,一周第一天為星期一。

header:日歷的頭部設置,包括標題,左右按鈕設置等。

events:日程事件內容。

更多屬性方法可以查看文檔:官方文檔。v3中文文檔請移步:https://www.helloweba.net/javascript/445.html

然后在javascript部分,先導入組件和樣式。

import FullCalendar from '@fullcalendar/vue' import dayGridPlugin from '@fullcalendar/daygrid' import interactionPlugin from '@fullcalendar/interaction' import '@fullcalendar/core/main.css'; 

接着,將數據定義好,包括接口、事件內容等等,以及方法調用。注意,需要使用Fullcalendar功能插件,必須在calendarPlugins定義好。

export default { components: { FullCalendar }, data() { return { calendarPlugins: [ dayGridPlugin, interactionPlugin ], header: { left: 'prev,next today', center: 'title', right: 'dayGridMonth,timeGridWeek,timeGridDay' }, evnetTime: { hour: 'numeric', minute: '2-digit', hour12: false }, calendarEvents: [ { title: '部門會議', start: new Date() } ] } }, methods: { handleDateClick(arg) { if (confirm('您是否要在' + arg.dateStr + '添加一個新的事件?')) { this.calendarEvents.push({ // add new event data title: '新的事件', start: arg.date, allDay: arg.allDay }) } }, handleEventClick(info) { alert('Event: ' + info.event.title); info.el.style.borderColor = 'red'; } } } 

保存,執行npm run dev,就可以看到Fullcalendar渲染的日程頁面了。

Fullcalendar官網還提供了在ReactAngular框架下使用方法。

這是一個簡單的vue fullcalendar實例,更復雜高級的應用敬請關注本站后面推出的相關文章。

 
聲明:本文為原創文章,helloweba.net和作者擁有版權,如需轉載,請注明來源於 helloweba.net並保留原文鏈接:https://www.helloweba.net/javascript/621.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM