我正在爲Fullcalendar製作ui-calendar指令的實現。它應該顯示日曆,因此可以選擇一個日期。但是,雖然日曆的選項卡顯示正常,但日曆本身保持不變,直到單擊其中一個選項卡。Fullcalendar日曆最初不使用Angular呈現
在這一點上,可以選擇一個正確傳回父級的日期。然而,在重新開放日曆時,它再次不受重視,一旦呈現,選擇就不會突出顯示。
在這一點上,這是包含日曆配置的角度指令代碼:
angular.module('app.directives')
.directive('calendar', ['_', function(_) {
return {
restrict: 'A',
scope:
{
date: '=', // Date in any format Moment accepts
select: '&'
},
templateUrl: 'partials/directives/calendar.html',
controller: ['$scope', '$translate', 'uiCalendarConfig', function($scope, $translate, uiCalendarConfig)
{
var dayKeys = ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'];
var dayNamesShort = [];
var dayNamesLong = [];
_.each(dayKeys, function (dayKey){
dayNamesShort.push($translate.instant(dayKey + '.short'));
dayNamesLong.push($translate.instant(dayKey + '.long'));
});
var monthKeys = ['jan', 'feb', 'mar', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'];
var monthNamesShort = [];
var monthNamesLong = [];
_.each(monthKeys, function (monthKey){
monthNamesShort.push($translate.instant(monthKey + '.short'));
monthNamesLong.push($translate.instant(monthKey + '.long'));
});
$scope.events = [];
$scope.calendarConfig = {
header: {
left: 'prev title next',
center: '',
right: 'today'
},
defaultDate: $scope.date,
selectable: true,
editable: true,
firstDay: 1,
monthNames: monthNamesLong,
monthNamesShort: monthNamesShort,
dayNames: dayNamesLong,
dayNamesShort: dayNamesShort,
dayClick: function (date)
{
$scope.select({date: date});
}
};
}]
};
}]);
下面是一個包含指令的HTML: - 日曆本身:
<div ui-calendar="calendarConfig" ng-model="events"></div>
的包含日曆的日曆:
<div ng-click="openSidePanel()">
<ng-transclude></ng-transclude>
<div side-panel opened="sidePanelOpen">
<div header-panel back="back()" done="done()" title-key="{{titleKey}}">
<div calendar date="initialDate" select="select(date)"></div>
</div>
</div>
有在這裏詢問有關訪問Fullcalendar對象,也就是這一個了另一個問題:從文檔Accessing fullcalendar object in Angular ui-calendar
我試圖以調用Fullcalendar的「渲染」的方法這樣做,但到目前爲止,這兩個解決方案並從上面的問題只返回undefined。
任何人都可以看到這段代碼有什麼問題,也許可以解釋爲什麼日曆最初不顯示?
有關更多信息,當我嘗試使用ui-calendar文檔中建議的方法時,我將指令名稱從'calendar'更改爲'datePicker'以避免命名衝突。我也在相關的HTML中反映了這種變化。這樣做並沒有改變日曆的行爲,任何對uiCalendarConfig或$ scope.calendar(我的日曆屬性的名稱)的調用都會導致它們未定義。
編輯:This用戶報告類似的問題,可以通過引入超時解決。但是,爲了做到這一點,對uiCalendarConfig的訪問是必需的,至今爲止,這個對象在我當前的設置中仍然未定義。如果有人能給我一個指示如何解決這個問題,我會非常感激。謝謝!