我有以下HTML,其中第一行显示:
<p>{{cal.eventSources}}</p>
<div ui-calendar ng-model="cal.eventSources"></div>
在我的JS中,我有:
$scope.$apply(setupCalendarEvents());
function setupCalendarEvents(){
self.eventSources = [];
angular.forEach(bookingMap, function(value, key) {
self.eventSources.push(bookingMap[key]);
});
}
问题:为什么第一行HTML会更新,但事件不会进入日历?
更多信息
如果我删除self.eventSources = [];
行,那么事件确实会出现在日历中,但很明显,每次我添加事件时,所有以前的事件都会重复。
如果我删除$scope.$apply()
,则没有任何更新。
我正在使用ui.calendar
因此,以下代码行切断了日历和模型之间的连接,因为它创建了一个新数组:
self.eventSources = [];
相反,我将行替换为:
self.eventSources.length = 0;
我的工作都很有魅力。