2017-09-27 6 views
2

angular4でfullcalendarを使用したいのですが、私はカレンダーを表示しますが、クリックしてイベントを追加したい、そのdayClickと私はオブジェクトをイベント[]、新しいイベントがイベントに追加されましたが、カレンダーには表示されません。私はstick = trueを変更しようとしましたが、変更はしません。タイプ4の角4には比較的新しいので、間違った方法、私にも教えてください! :)angle4でfullcalendarを使用しているときにイベントが表示されない

ありがとう!

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)=> { のlet ABC:文字列= '' ; let hamz:object = [{ タイトル: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 ;) 
関連する問題