2017-01-19 1 views
4

저는 2.4 각도로 PrimeNG의 일정을 사용하려고하는데 오류가 발생합니다. 유일한 차이점은 내가 "MyModel을 변경하는 것이 인 상태PrimeNG 일정을 사용할 때 FullCalendar 오류가 발생했습니다.

http://www.primefaces.org/primeng/#/schedule

나는 그 문서를 다음 (: 다음 링크로 이동하면 페이지를 아래로 스크롤하면, 당신은 일정의 예를, 플러스 문서를 볼 수 있습니다 CalendarComponent ")"을 "하지만, 다음과 같은 오류 있어요 : I 설치하고 수입 FullCalendar해야하기 때문에

Error in calendar.component.html:0:0 caused by: this.schedule.fullCalendar is not a function

이인가를? 나는 그런 경우가있을 수 있습니다 생각,하지만 난 그것을 가져올 시도 할 때, 나는 다음과 같은 404을 가지고 :

여기

https://localhost:44301/node_modules/fullcalendar/fullcalendar 404()

FullCalendar를 가져올 시도 후 내 코드는 ...

app.module합니다. TS :

... 
import { FullCalendar }  from 'fullcalendar/fullcalendar'; 
import { ScheduleModule } from 'primeng/primeng'; 
import { CalendarComponent } from './calendar.component'; 
... 
imports: [ 
    ... 
    FullCalendar, 
    ScheduleModule 
], 
declarations: [ 
    ... 
    CalendarComponent 
], 
... 

calendar.component.ts :

... 
export class CalendarComponent implements OnInit { 
    events: any[]; 
    headerConfig: any; 

    public constructor(
     ... 
    ) { } 

    ngOnInit(): void { 
     this.events = [ 
      { 
       "title": "All Day Event", 
       "start": "2016-01-01" 
      }, 
      { 
       "title": "Long Event", 
       "start": "2016-01-07", 
       "end": "2016-01-10" 
      }, 
      { 
       "title": "Repeating Event", 
       "start": "2016-01-09T16:00:00" 
      }, 
      { 
       "title": "Repeating Event", 
       "start": "2016-01-16T16:00:00" 
      }, 
      { 
       "title": "Conference", 
       "start": "2016-01-11", 
       "end": "2016-01-13" 
      } 
     ]; 
     this.headerConfig = { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,agendaWeek,agendaDay' 
     };   
    } 


    handleEventClick(e:any) { 
     //e.event = Selected event 
     //e.jsEvent = Browser click event 
     //e.view = Current view object 
     console.log('Selected event: ' + e.event); 
     console.log('Browser click event: ' + e.jsEvent); 
     console.log('Current view object: ' + e.view); 
    }  
} 
012 3,516,

calendar.component.html :

<p-schedule [events]="events" [header]="headerConfig" (onEventClick)="handleEventClick($event)"></p-schedule> 

systemjs.config.js :

map: { 
    ... 
    'fullcalendar': 'npm:fullcalendar', 
    'primeng':  'npm:primeng' 
}, 

package.json :

"dependencies": { 
    ... 
    "fullcalendar": "^3.1.0", 
    "primeng": "^1.1.4", 
    }, 
+0

PrimeFaces을 = PrimeNG을!.수정 된 태그 추가 – Kukeltje

+0

PrimeNG는 여전히 사용중인 Angular2 버전보다 아래의 Angular2 버전을 사용합니다. 거대한 프로젝트에서도 PrimeNG를 사용하고 있으며, 주요 웹 사이트의 package.json 예제에서 설명한 버전보다 위의 버전에서 내 버전을 설정하는 것은 좋지 않습니다. 우리의 문제는 생산을 위해 건물을 짓는 과정에서 기본적으로 발생합니다. 너와 같을 수도있어. – Fals

+0

프로덕션을 위해 어떻게 구축합니까? 나는 AOT 컴파일러를 사용한다. – Brett

답변

3

만들기 위해 P- 일정 r 작업 jquery와 순간 및 프로젝트에 해당 유형 정의를 포함해야합니다.

나를 위해 적합한 구성. 각도 CLI

package.son `

> "dependencies": { 
>  "fullcalendar": "^3.2.0", 
>  "jquery": "^3.1.1", 
>  "moment": "^2.17.1", 
>  "primeng": "2.0.1", }, 
> 
> "devDependencies": { 
>  "@angular/cli": "1.0.0-beta.32.3", 
>  "@angular/compiler-cli": "^2.3.1", 
>  "@types/fullcalendar": "^2.7.37", 
>  "@types/jasmine": "2.5.38", 
>  "@types/jquery": "^2.0.40", 
>  "@types/moment": "^2.13.0", } 

`

scheduler.module.ts

` 
import 'jquery'; 
import 'moment'; 
import 'fullcalendar'; 

import { ScheduleModule } from 'primeng/primeng'; 

- 각 CLI, JSON

012,351,641을 사용하여
 "styles": [ 
    "styles.css", 
    "../node_modules/primeng/resources/themes/omega/theme.css", 
     "../node_modules/primeng/resources/primeng.min.css", 
    "../node_modules/fullcalendar/dist/fullcalendar.min.css", 
    "../node_modules/font-awesome/css/font-awesome.css" 
    ], 
    "scripts": [ 
    "../node_modules/jquery/dist/jquery.min.js", 
    "../node_modules/moment/min/moment.min.js",  
    "../node_modules/fullcalendar/dist/fullcalendar.min.js" 
    ], 

구성 요소 귀하와 유사합니다.

0

main.ts에 넣어보십시오 :

import fullcalendar from 'fullcalendar'; 
window['fullcalendar'] = fullcalendar;