2017-09-27 72 views
2

我想在angular4中使用fullcalendar,我只是顯示日曆,但我想添加事件點擊,我用當天點擊和我推動對象到事件[],新的事件被添加到事件中,但它不會出現在日曆上,我嘗試將stick = true,但沒有發生變化。對於只有打字稿的angular 4,我是比較新的,所以如果我正在接近事物錯誤的方式,請讓我知道! :)使用fullcalendar與angular4時不顯示事件

謝謝!發現

export class MyHeaderComponent { 

construct(){ } 
private arr:string[]=['az']; 
calendarOptions = { 
    events :[], 
     //click on day make event 
    dayClick(date, jsEvent, view) {} , 
    renderEvents(event, element, view ){} 
}   


ngOnInit() { 
    let newEvents = [ 
    { 
    title: 'name b', 
    start: '2017-09-20' 
    }, 
    { 
    title: 'name c', 
    start: '2017-09-20' 
    }, 
    { 
    title: 'name d', 
    start: '2017-09-20' 
    } 
]; 
    this.calendarOptions.events = newEvents; 

    //callback function 
    this.calendarOptions.dayClick = (date,jsEv,vie) => { 
     let abc:string ='a'; 
     //abc = prompt('Enter Title'); 
     let dat = date.format() 
     let hamz ={ 
      title:abc, 
      start:dat 
     }; 
     console.log(hamz); 
     newEvents.push(hamz); 
     this.calendarOptions.events = newEvents; 
     console.log(this.calendarOptions.events); 
     this.calendarOptions.events = newEvents; 
     $("#myCalendar").fullCalendar('renderEvents', 
             newEvents, 
             true //we want to stick it 
            ); 
     alert('ok') 
     } 
    } 
} 

enter image description here

+0

'this.calendarOptions.events = newEvents;'實現什麼。你可以刪除它。儘管如此,使用'renderEvents'應該可以工作,假設你給出的日期是有效的(不需要使用'.format()'把它串起來,你可以直接傳遞時刻對象 - 也許可以嘗試),在日曆上當前顯示的日期範圍內。 – ADyson

+0

謝謝你的回答,但我做到了,你說仍然沒有工作 ' //回調函數 this.calendarOptions.dayClick =(日期,jsEv,VIE)=> { 讓ABC:字符串= 'A' ; let hamz:object = [{title = abc, start:date }]; ('#myCalendar')。fullCalendar('renderEvent', hamz, true //我們想堅持它 ); ('ok') console.log(this.calendarOptions.events); } ' –

+0

當時您的瀏覽器控制檯出現任何錯誤? – ADyson

回答

0

溶液:d

calendarOptions = { 
     dayClick: function(date, allDay, jsEvent, view){}, 
     }; 
ngOnInit() { 
this.calendarOptions.dayClick = (date) => { 
      let eventName = prompt('titre de l\'évènement') 
      if(eventName){ 
       var newEvent = [{ 
        title: eventName, 
        start: date 
       }]; 
       //objet jquery 
       $('#calendar').fullCalendar('renderEvents', newEvent, true); 
      } 
} 
if someone else need it ;)