角度 UI 日历事件消失
angular UI calendar events disappearing
>我正在使用角度UI日历填充数据库中的事件。 例如,我有一些 12 月(当前月份)的事件,当我的日历加载时,它会正确显示事件,但是当我从 12 月导航到 1 月并返回时,我的事件消失了,我在日历上看不到任何事件。我想知道为什么。请帮忙:) 这是我的日历控制器
app.controller('CalendarController', function ($scope,$compile,uiCalendarConfig,learnerService) {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$scope.events = [];
var promise = learnerService.getBirthdays();
promise.then(function(data){
for (var i = 0; i < data.length; i++) {
$scope.events.push({title:data[i].learner_name, start: new Date(data[i].birthday)});
};
});
/* event source that contains custom events on the scope */
/* event source that calls a function on every view switch */
$scope.eventsF = function (start, end, timezone, callback) {
var s = new Date(start).getTime() / 1000;
var e = new Date(end).getTime() / 1000;
var m = new Date(start).getMonth();
var events = [{title: 'Feed Me ' + m,start: s + (50000),end: s + (100000),allDay: false, className: ['customFeed']}];
callback(events);
};
$scope.calEventsExt = {
color: '#000000',
textColor: 'yellow',
events: [
{type:'party',title: 'Lunch',start: new Date(y, m, d, 12, 0),end: new Date(y, m, d, 14, 0),allDay: false},
{type:'party',title: 'Lunch 2',start: new Date(y, m, d, 12, 0),end: new Date(y, m, d, 14, 0),allDay: false},
{type:'party',title: 'Click for Google',start: new Date(y, m, 28),end: new Date(y, m, 29),url: 'http://google.com/'}
]
};
/* alert on eventClick */
$scope.alertOnEventClick = function( date, jsEvent, view){
$scope.alertMessage = (date.title + ' was clicked ');
};
/* alert on Drop */
$scope.alertOnDrop = function(event, delta, revertFunc, jsEvent, ui, view){
$scope.alertMessage = ('Event Droped to make dayDelta ' + delta);
};
/* alert on Resize */
$scope.alertOnResize = function(event, delta, revertFunc, jsEvent, ui, view ){
$scope.alertMessage = ('Event Resized to make dayDelta ' + delta);
};
/* add and removes an event source of choice */
$scope.addRemoveEventSource = function(sources,source) {
var canAdd = 0;
angular.forEach(sources,function(value, key){
if(sources[key] === source){
sources.splice(key,1);
canAdd = 1;
}
});
if(canAdd === 0){
sources.push(source);
}
};
/* add custom event*/
$scope.addEvent = function() {
$scope.events.push({
title: 'Open Sesame',
start: new Date(y, m, 28),
end: new Date(y, m, 29),
className: ['openSesame']
});
};
/* remove event */
$scope.remove = function(index) {
$scope.events.splice(index,1);
};
/* Change View */
$scope.changeView = function(view,calendar) {
uiCalendarConfig.calendars[calendar].fullCalendar('changeView',view);
};
/* Change View */
$scope.renderCalender = function(calendar) {
if(uiCalendarConfig.calendars[calendar]){
uiCalendarConfig.calendars[calendar].fullCalendar('render');
}
};
/* Render Tooltip */
$scope.eventRender = function( event, element, view ) {
element.attr({'tooltip': event.title,
'tooltip-append-to-body': true});
// $compile(element)($scope);
};
/* config object */
$scope.uiConfig = {
calendar:{
height: 450,
editable: true,
header:{
left: 'title',
center: '',
right: 'today prev,next'
},
eventClick: $scope.alertOnEventClick,
eventDrop: $scope.alertOnDrop,
eventResize: $scope.alertOnResize,
eventRender: $scope.eventRender
}
};
$scope.changeLang = function() {
if($scope.changeTo === 'Hungarian'){
$scope.uiConfig.calendar.dayNames = ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"];
$scope.uiConfig.calendar.dayNamesShort = ["Vas", "Hét", "Kedd", "Sze", "Csüt", "Pén", "Szo"];
$scope.changeTo= 'English';
} else {
$scope.uiConfig.calendar.dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
$scope.uiConfig.calendar.dayNamesShort = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
$scope.changeTo = 'Hungarian';
}
};
添加新事件问题
将新事件添加到日历时,它们可能会在切换月份时消失。要解决此问题,请添加 stick:true 表示要添加到范围内的事件对象
http://fullcalendar.io/docs/event_rendering/renderEvent/
在您的情况下,您正在对源代码进行推送,即 .push(source)
我相信你需要声明
source.stick = true;
sources.push(source);
相关文章:
- 为什么js事件消失了
- '单击'事件在Backbone中消失.使用流沙后查看
- 警报消失并发生键控事件
- 如何在初始屏幕消失后触发事件
- 点击事件后,值消失
- 为什么当我在 jQuery 中添加切换事件时我的按钮消失了
- 在完整日历.js中消失的事件
- 角度 UI 日历事件消失
- HTML 按钮在 onclick() 事件后消失
- 当我通过javascript添加警报并取消事件时,滚动条消失了
- Jcarousel 图像在滚动事件后消失
- jQuery-onClick事件使元素消失
- 确定事件处理程序在DOM元素上消失的原因
- 如何在手指消失时获取事件
- 当底部边栏消失时,Safari会触发什么事件
- 消失元素上的OnClick事件
- 使用多个日历时,完整日历事件会消失-Meteor
- 为什么当滚动条出现或消失时,调整大小事件不会触发
- 事件如何过期或被任何其他事件消失
- 删除节点.js事件,侦听器也会消失