class ScriptLoader {
private loadedScripts : Array<string> = new Array<string>();
constructor(private head = document.getElementsByTagName('head')[0], ) {
if (typeof(head) == "undefined")
alert("A página não contém o elemento head.");
}
load(scripts: Array<string>) {
scripts.forEach(element => {
let node = document.createElement('script') as HTMLScriptElement;
node.type = 'text/javascript';
node.charset = 'utf-8';
node.async = true;
node.addEventListener('load', (el: HTMLScriptElement, ev: Event) => this.onLoad(el, ev), false);
node.src = element;
this.head.appendChild(node);
});
}
onLoad(el: HTMLScriptElement, ev: Event) : any {
this.loadedScripts.push(el.src)
}
}
сообщение об ошибке:
Никакая перегрузка не соответствует этому вызову. Перегрузка 1 из 2, '(тип: "load", listener: (this: HTMLScriptElement, ev: Event) => any, options ?: boolean | AddEventListenerOptions | undefined): void', возникла следующая ошибка. Аргумент типа '(el: HTMLScriptElement, ev: Event) => any' не может быть назначен параметру типа '(this: HTMLScriptElement, ev: Event) => any'. Перегрузка 2 из 2, '(тип: string, listener: EventListenerOrEventListenerObject, options ?: boolean | AddEventListenerOptions | undefined): void', вызвала следующую ошибку. Аргумент типа '(el: HTMLScriptElement, ev: Event) => any' не может быть назначен параметру типа 'EventListenerOrEventListenerObject'. Тип '(el: HTMLScriptElement, ev: Event) => any "нельзя назначить типу" EventListener ".