我使用的是带有fullCalendar的Angular JS,当我点击按钮时,我试图更改日历的可编辑值。它的接缝很简单,但由于某种原因,什么都不起作用。
我得到了这段代码,首先将值设置为可编辑:
var Calendar = $('#calendar').fullCalendar({
/*...*/
events: events,
editable: $scope.editable,
droppable: true,
allDayDefault: false,
/*...*/
});
由于默认情况下我的$scope.editable
为false,并且日历不允许任何修改,因此该部分缝合良好。
我正在使用Angular JS中的一个函数,使用以下函数将$scope.editable
值更改为相反的值:
$scope.edit = function () {
$scope.editable = !$scope.editable;
};
当然,它不会改变FullCalendar中的值,所以我想知道该怎么办。我尝试过一些事情,比如改变值,然后重新绘制或重新绘制事件,但没有任何效果。
$scope.edit = function () {
$scope.editable = !$scope.editable;
Calendar.fullCalendar({editable: $scope.editable});
Calendar.fullCalendar('refetchEvents');
};
有什么想法吗?
编辑
我过去通过改变价值、破坏日历然后重新构建日历来实现这一点,我认为这种方法不是最有效的。我希望我的日历保持原样,只允许编辑。
原来我没有做足够的研究。我发现,自从FullCalendar 2.9.0以来,可以动态更改选项。使用Calendar.fullCalendar('option', option, value);
如果有人需要信息,这里有一个完整的链接和完整的文档