#javascript #angular #typescript
#язык JavaScript #угловой #машинописный текст
Вопрос:
Я хочу вызвать функцию JS, которая объявлена таким образом:
Извлечение файла JS
var SOMETHING; void 0 === SOMETHING amp;amp; (SOMETHING = {}), SOMETHING.init = function(config) { SOMETHING.version = "1.1.0", console.log("SOMETHING.version: " SOMETHING.version); }
Чтобы запустить это, в файле TS я использую этот способ
let script = this._renderer2.createElement('script'); script.type = `text/javascript`; script.text = ` var urlThing = '${urlThing }'; var exito = function (data) { alert(JSON.stringify(data)); }; var error = function (data) { alert(JSON.stringify(data)); }; SOMETHING.init(); //----gt; the function that I want to call on TS `; this._renderer2.appendChild(this._document.body, script);
Я хочу запустить это в TS напрямую, а не использовать скрипт. Я пробовал этот способ:
Угловой.json
"scripts": ["src/assets/klap/KlapSandBox.js"]
Файл TS, в котором я хочу запустить функцию
import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { KlapService } from '../../services/klap.service'; declare function SOMETHING.init();
Это приводит к ошибке, что .init не найден (не удается найти имя «init»), и я не могу найти решение по этому поводу.
Есть Какие-Нибудь Предложения?