記錄一個在vue中使用FullCalendar遇到的問題


  這幾天在工作中有一個需求——排期表,首先想到的就是使用插件,於是根據需求內容找到了很多基於vue開發的、類似日歷的插件,但有的是英文文檔不易上手,有的功能上不符合需求,這時候想到了jQuery的日歷插件FullCalendar,我是比較反感在vue中使用jquery的,不過暫時這是最好的選擇。

  關於如何在Vue中使用Jquery中的插件,詳情我就不介紹了,我的方法很簡單,就是把靜態資源文件放到static中,在index.html中引入。

  根據FullCalendar的官方文檔(官方文檔是英文的,但是搜索可以搜索到不少中文文檔),終於成功把數據放到了排期表中(還是比較簡單的,api都很清楚)。高興之余,產品新加了個需求,要求可以模糊查詢。這簡單啊,我搜索完成之后數據更新下不就好了嗎?眾所周知,vue是MVVM模式,數據更新DOM也會更新。但是萬萬沒想到事情沒有這么簡單,重新賦值數據之后頁面並沒有什么反應,那我就把之前的排期表刪了重新生成,但結果還是不如人意,總之在vue的思想上試了很多辦法都沒有解決。更新數據啊,重新渲染dom啊,都不行,其實這時候關鍵還是要靠官方文檔。

  我在 https://blog.csdn.net/qw_xingzhe/article/details/44920943 這篇文章中找到了關於事件的一些API:

於是開始嘗試,嘗試的過程就不多啰嗦了,總之,我成功的方法是這樣寫的,

$('#calendar').fullCalendar( 'removeEventSource',this.events);
$('#calendar').fullCalendar( 'refetchEvents');
$('#calendar').fullCalendar( 'addEventSource', arr);
在搜索完成后台返回完數據,我先會把原來綁定在插件上的數據刪除,然后在重新渲染插件上的時間,最后把新的數據綁定到插件上,解決。
好像第二條也不是很需要。
  在使用一個新的插件的時候,一定要好好參考該插件的API,這樣會少使你走很多彎路。雖然我自己最不喜歡看API,從這次事件就能看出來,所以我希望記錄下來給自己一個教訓,給你們一次提醒。第一次寫,感覺廢話連篇。而且我是一個小白,如有路過的大牛請隨便指點。

  


免責聲明!

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



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