2017-05-12 1 views
0

메신저에서 angularcalendar를 사용하여 슬롯을 Onclick하면 Call은 CalendarOptions에서 콜백 함수로 이동합니다. 선택 : 콜백 함수가 호출되지만 내부에서 angular2 함수를 호출하려고 할 때 : 서비스 (this.calenserService.save()가)가 오류를 발생 시킴 : 정의되지 않은 속성 '저장'을 저장할 수 없음 & eventClick : 은 기본적으로 선택 같은 콜백 함수 내부 angular2 구성 요소 개체/방법을 사용할 수 없습니다 메신저angular2 fullcalendar를 사용하는 방법

calender.html

<angular2-fullcalendar [options]="calendarOptions"></angular2-fullcalendar> 

calender.component.ts

calendarOptions = { 
    header: 
    { 
     left: '', 
     center: 'title', 
     right: 'month,agendaWeek,agendaDay,today, prev,next ' 
    }, 

    slotDuration:'00:20:00',  
    defaultDate: new Date(), 
    editable: true, 
    eventLimit: true, 
    selectable: true, 
    selectHelper: true, 
    select: function(start, end, allDay) 
    { 
     let event:Event=new Event(); 
     event.id='785'; 
     event.selectable=true; 
     event.start=start; 
     event.title="Test"; 
     event.end=end; 
     **this.calenderService.save(event) // This is Angular2 component object not able to access from here**   
    },  
    eventClick: function(calEvent, jsEvent, view) { 
     alert('Event: ' + calEvent.title); 
     this.callFun() //**This is Angular 2 component function Not able to access** 
    },   
    events:this.events //this.events is Angular2 class object 
}; 

답변

0

사용 화살표 기능은 this

eventClick: (calEvent, jsEvent, view) => { 
    alert('Event: ' + calEvent.title); 
    this.callFun(); 
}, 

... 
select: (start, end, allDay) => { 
... 

화살표 함수는 함수가 호출되는 경우보다는 생성 된 this를 캡처 유지합니다.

도 참조

+0

헤이 고맙습니다, 서비스 구성 요소에서 calendarOptions에 이벤트를 추가하는 방법에 대해 설명합니다. 이벤트를 업데이트하는 방법을 통해 Angular2에 대한 참조를 얻을 수 있습니다. – Naveen

관련 문제