使用Angular & FullCalendar(通过angular-ui-calendar项目),我似乎无法使事件绑定正常工作。Angular UI日历(FullCalendar)不与范围事件绑定
当硬编码的事件:
$scope.events = [
{
title: 'Event1',
start: '2016-03-04'
}
];
$scope.eventSources = {
events: $scope.events,
color: '#999',
textColor: 'black'
};
,一切工作正常。
但是,由于该页面包含事件过滤器,因此我需要能够随时对其进行修改。这样做时,日历上没有任何修改。
我已经尝试了许多不同的方法,并阅读了angular-ui-calendar & fullCalendar文档,但找不到任何线索,说明为什么绑定无法正常工作。
当我这样做(超时被用来只是为了简化问题,考虑一个Ajax请求,而不是):
$scope.events = [];
$scope.eventSources = {
events: $scope.events,
color: '#999',
textColor: 'black'
};
$timeout(function() {
$scope.events = [
{
title: 'Event1',
start: '2016-03-04'
}
];
},1000);
没有被添加到日历。 我试图调用fullCalendar元件上的刷新方法,使用
uiCalendarConfig.calendars.myCalendar.fullCalendar('rerenderEvents');
//also tried - uiCalendarConfig.calendars.myCalendar.fullCalendar('refetchEvents');
//also tried - uiCalendarConfig.calendars.myCalendar.fullCalendar('render');
(uiCalendarConfig
被正确地注入到控制器)。
我也尝试用$scope.$apply()
包装代码,但没有成功。
我fullCalendar工作之前通过的JavaScript/jQuery的API直接和它工作得很好,角度的UI日历文件指出,“的UI日历指令与NG-模型很好地发挥。”但到目前为止,它的不过是痛苦。
我实际的HTML标签是
<div ui-calendar="uiConfig.calendar" ng-model="eventSources" calendar="myCalendar"></div>
有任何在控制台没有误差修改。
关于如何解决这个问题以及为什么事件绑定不是一个可以假设的简单方法?
谢谢,但这似乎是一个很大的警告,你是说没有'角'的方式来修改初始化后显示的事件吗? – Yani
看看我编辑过的帖子。如果第二部分不会帮助你,那么就是这样。那么angular-ui-calendar不会在“稍后”支持绑定事件。这经常发生。这只是指令的一个问题,因为它不是“以那种方式实现”,那么 –
我已经尝试将数据推送到'$ scope.events',不幸的是无法正常工作。 – Yani