我的目标是使用ng-fullcalendar显示我从firestore获得的事件。 但是问题是,它没有出现在日历中。
如果使用了模拟数据,它可以工作,但是对于我从firestore获得的数据却不能
这是包含模拟数据的工作日历
功能
public getEvents(): Observable<any> {
const dateObj = new Date();
const yearMonth = dateObj.getUTCFullYear() + '-' + (dateObj.getUTCMonth() + 1);
let data: any = [{
title: 'namee',
start: '2018-09-19'
},
{
title: 'STI night',
start: '2018-09-18'
}
];
console.log(data);
return of(data);
}
console.log中显示的内容
以及如何通过事件初始化日历
ngOnInit() {
this.getEvents().subscribe(eventData => {
console.log('Obs', eventData);
this.calendarOptions = {
editable: true,
eventLimit: false,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
events: eventData
};
});
}
可观察到的日志
但是当我执行此操作时,该功能会从Firestore获取数据
getEventsCollection(): Observable<any>{
this.eventService.getEventsCollection().subscribe(eventCollection => {
eventCollection.forEach(event => {
this.fullCalendarEvent = {
title: event.event_name,
start: event.event_date
}
this.eventsArray.push(this.fullCalendarEvent);
})
});
console.log( this.eventsArray );
return of(this.eventsArray);
}
哪个记录下来
当我替换功能时
ngOnInit() {
this.getEventsCollection().subscribe(eventData => {
console.log('Obs', eventData);
this.calendarOptions = {
editable: true,
eventLimit: false,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
events: eventData
};
});
}
但是它没有显示在日历中
Maaaan,我的头很痛。关于如何显示它们的任何提示将不胜感激!
更新
现在我明白了,
模拟数据是此[{…},{…}](可能是对象)
而我的是[]数组
有人知道我该怎么做吗?
答案 0 :(得分:0)
一直都是生命周期的钩子!
当我把初始化日历放到辅导员voila中时,它起作用了!