您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)angular中ui calendar怎么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
官方地址:http://angular-ui.github.io/ui-calendar/
fullcalendar 和ui calendar包安裝我就不介紹了。自行百度下。
包安裝好后,添加路徑引用
本次開發(fā)環(huán)境angular1.x
調(diào)用
<div ui-calendar="uiConfig.calendar" class="span8 calendar" ng-model="eventSources" calendar="myCalendar"></div>
在controller中配置參數(shù)
/* config object */ $scope.uiConfig = { calendar: { height:..,//容器高度 editable:..,//是否可編輯 header: { right: '',//右邊操作按鈕 center: 'title', left: '',//左邊操作按鈕 }, } }; $scope.eventSources = [$scope.events];
這是一些基礎(chǔ)配置,其他的請根據(jù)需求配置
下面來談?wù)勎以谑褂弥杏龅降囊恍﹩栴},首先要從需求開始:
1.產(chǎn)品需求:每天事件要按字段“x”排序。
2.要根據(jù)月篩選查看不同月的視圖數(shù)據(jù)。
首先來解決第一個(gè)問題,查看fullcalendar有沒有排序功能,中文百度了半天,好吧,放棄了。。。用英文搜索,終于找到,在新版的fullcalendar提供了排序字段,默認(rèn)是‘title';于是重新安裝了fullcalendar,手動(dòng)設(shè)置排序方法:在數(shù)據(jù)集中增加自定義排序字段,如{title:'111',sort:'22'},然后在$scope.urConfig.calendar中添加eventOrder:'sort'就可以了,很開心,第一個(gè)問題解決了!
第2個(gè)問題,根據(jù)時(shí)間查看不同月份視圖,往eventSources里扔不同月份的數(shù)據(jù)集合不就行了?試了一下,額,視圖不變化。。。又開始了英文搜索之旅。。。
終于找到了一個(gè)帖子,方法如下:
1.在controller中注入uiCalendarConfig,然后uiCalendarConfig.calendars.myCalendar.fullCalendar('gotoDate', calendarMonth);calendarMonth是需要加載顯示的月份,但是調(diào)用之后uiCalendarConfig.calendars.myCalendar is undefined...
解決方法:
$timeout(function(){ uiCalendarConfig.calendars.myCalendar.fullCalendar('gotoDate', calendarMonth); });
到了這一步,項(xiàng)目要求的基本功能夠已實(shí)現(xiàn)了。
開始優(yōu)化:
1.把顯示界面調(diào)成中文, 在配置config中添加lang:'zh-cn'或locale:'zh-cn',如果還不行,請升級你的ui calendar包
2.視圖加載很緩慢,又英文搜索了很長時(shí)間。。。吐槽一下。國人沒遇到過這類問題嗎,中文搜索根本搜不到。。。,最后看到一個(gè)帖子:
將$scope.eventSources = [$scope.events];改成$scope.eventSources = [],
$scope.events通過請求返回接收后uiCalendarConfig.calendars.myCalendar.fullCalendar('addEventSource', $scope.events);加載,試了一下。nice,緩慢問題搞定。。。但是新問題來了,視圖不會(huì)把我上次的數(shù)據(jù)清除,會(huì)造成重復(fù)數(shù)據(jù)!
最后換成了$scope.eventSources.push($scope.events);雖然也解決了問題,但是上面的問題并沒有解惑。。。歡迎高手指點(diǎn)!
關(guān)于“angular中ui calendar怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。