gpt4 book ai didi

javascript - angularjs fullcalendar eventclick范围

转载 作者:行者123 更新时间:2023-12-03 05:31:39 25 4
gpt4 key购买 nike

我有一个名为 CalendarDemoCtrl 的 Controller ,其中我有完整日历的配置,如下所示。

$scope.uiConfig = {
calendar: {
height: 600,
editable: false,
locale:'es',
//navLinks: true, // can click day/week names to navigate views
businessHours: true, // display business hours
allDaySlot: false,
slotLabelFormat : 'h:mm a',
timeFormat: 'h:mm a',
navLinks: true,
navLinkDayClick: function(date, jsEvent) {
cc['mycalendar'].fullCalendar('changeView','agendaDay');
cc['mycalendar'].fullCalendar('gotoDate',date);
$scope.currentDate = cc['mycalendar'].fullCalendar("getView").title;
},

defaultView: 'agendaDay',
slotDuration: '00:15:00',
header: false, // remove default toolbar
//editable: true,
eventRender: $scope.eventRender,
eventClick : $scope.onEventClick
//dayClick : $scope.onEventClick
}
}

在同一个 Controller 中,我定义了 $scope.onEventClick 和 $scope.addEvent。

$scope.addEvent = function() {

$rootScope.oldFormData = $.extend( true, {}, $scope.formData );

$scope.entroModal = true;
$scope.modalOpen('new');
};
$scope.onEventClick = function(index) {


$scope.formData = $.extend( true, {}, index.cita );
var date_inicio = new Date(index.cita.inicio) ;
$scope.formData.inicio = date_inicio.getDate() + "/" + ( date_inicio.getMonth() + 1) + "/"+ date_inicio.getFullYear()+ " " + date_inicio.getHours()+ ":" + (date_inicio.getMinutes()<10?'0':'') + date_inicio.getMinutes();
var date_fin = new Date(index.cita.fin) ;
$scope.formData.fin = date_fin.getDate() + "/" + ( date_fin.getMonth() + 1) + "/"+ date_fin.getFullYear()+ " " + date_fin.getHours()+ ":" + (date_fin.getMinutes()<10?'0':'') + date_fin.getMinutes();
$.extend( $scope.formData , $rootScope.oldFormData );
$scope.modalOpen('edit');
};

当用户想要添加事件时,第一个与按钮一起使用,第二个用于编辑日历中的事件。但是,当添加事件时,范围会转到低于 eventclick 的范围,因此当我添加事件时,当我单击并编辑事件时,它会显示在日历中,该事件不会在日历中修改,因为它是上面的范围。

  1. $rootscope:id 1

  2. $scope:id 10(这是 eventclick 的作品)

  3. child $scope:id 11(这是 addevent 的作品)

这完全是一团糟,我很困惑这是如何发生的以及如何让这两个事件处于同一范围内?请指教谢谢!

最佳答案

我仍然不确定为什么会发生这种情况以及如何永久修复它,但我的解决方法是广播一个事件并确保在收听它时,它具有相同的范围。

关于javascript - angularjs fullcalendar eventclick范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com