Из других ответов по этой теме я узнал, что могу использовать элементы jQuery getScript() API для вызова внешних файлов JavaScript.
Мой календарь.comComponent.ts выглядит следующим образом:
Код: Выделить всё
import { Component, OnInit, AfterViewInit } from '@angular/core';
import { Auth } from '../auth.service';
declare var $:any;
declare var CustomCal:any;
@Component({
selector: 'app-calendar',
templateUrl: './calendar.component.html',
styleUrls: ['./calendar.component.css']
})
export class CalendarComponent implements OnInit {
private year : number;
myCal : any;
constructor(private auth : Auth) {
}
ngOnInit() {
}
ngAfterViewInit() {
this.year = 2017;
$.getScript('./app/calendar/zapCalendar.js', function(){
console.log("got call'd back");
this.myCal = new CustomCal(2017);
});
}
}
Мой класс CustomCal определен в zapCalendar.js следующим образом:
Код: Выделить всё
class CustomCal
{
constructor(nYear) {
this._mouseDown = false;
this._mouseDrag = false;
this._lastItem = 0;
this._nYear = nYear;
this.CreateCalendarFrame();
this.AddEventHandlers(this);
}
...
}
Я попробовал экспортировать класс в файл zapCalendar.js:
p>
Код: Выделить всё
$( function() {
var myCal = new CustomCal(2017);
});
Обновление:
Я' я только что заменил это (в zapCalendar.js):
Код: Выделить всё
$( function() {
var myCal = new CustomCal(2017);
});
Код: Выделить всё
var x = new CustomCal(2017);
Подробнее здесь: https://stackoverflow.com/questions/430 ... -2-project
Мобильная версия