Я пытаюсь интегрировать плагин jQuery в мой проект Angular CLI.Этот плагин НЕ пакет узла.Это средство выбора календаря (файлы можно найти здесь )
Я добавил эти файлы в папку ресурсов в папке 'src' проекта и добавил пути (стили / скрипты)) в файл angular.json.Еще ничего.Я установил jQuery на этот проект и использовал плагины npm jquery, и они работают нормально.
Может кто-нибудь загрузить пример Angular CLI, в котором используется связанный плагин?
В приведенном ниже примере просто возвращается ошибка «this.calendarPicker.calendarPicker не является функцией»
Буду очень признателен за любую помощь.
Typescript компонента приложения
import {AfterViewInit, Component, ElementRef, OnInit, ViewChild} from '@angular/core';
import * as $ from 'jquery';
@Component({
selector: 'app-organiser-area',
templateUrl: './organiser-area.component.html',
styleUrls: ['./organiser-area.component.css']
})
export class OrganiserAreaComponent implements AfterViewInit {
@ViewChild('calendarPicker') picker: ElementRef;
calendarPicker: any;
constructor() { }
ngAfterViewInit() {
this.calendarPicker = $(this.picker.nativeElement);
const winWidth = $(window).width();
if (winWidth > 480) {
this.calendarPicker.calendarPicker({
monthNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
dayNames: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
useWheel: true,
callbackDelay: 100,
years: 2,
months: 3,
days: 5,
showDayArrows: true,
callback: function(cal) {
$('#selectedDate').html('Selected date: ' + cal.currentDate);
}
});
} else {
this.calendarPicker.calendarPicker({
monthNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
dayNames: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
useWheel: true,
callbackDelay: 100,
years: 1,
months: 3,
days: 3,
showDayArrows: true,
callback: function(cal) {
$('#selectedDate').html('Selected date: ' + cal.currentDate);
}
});
}
}
}
Компонент приложения HTML
<main>
<div #calendarPicker class="calendarBox"><div id="calendar"></div></div>
</main>