доступ к переменным из js файлов в ts - PullRequest
0 голосов
/ 09 мая 2020

Привет, я пытаюсь обновить существующее приложение angular с версии 2 до 9, я начинаю с обновления его до angular 4, а затем продолжаю позже, я смог обновить пакеты, требующие обновления, но теперь я получаю сообщение об ошибке, что переменная не определена вот структура приложения

У меня legend.component.js

var LegendSingleton=function(() {
               ...
               createInstance
               ...
               getInstance
               ...

main.component.js

var myExtObject = {
               ...
               legend : LegendSingleton.getInstance()
               ...

затем в layoutindicateur.component.ts

              ...
var myExtObject = require('../../../assets/geoFunction/main.component.js');
some use of myExtObject 
              ...

также в angular-cli.json я объявил эти js файлы в scripts:

...
"assets/geoFunction/component/legend.component.js",
...
"assets/geoFunction/main.component.js"

Я получаю ошибку Uncaught (in promise): ReferenceError: LegendSingleton is not defined Я пробовал чтобы импортировать файл легенды js в основной файл js, используя var LegendSingleton = require('../geoFunction/component/legend.component.js');, но получена ошибка getInstance не функция

1 Ответ

1 голос
/ 09 мая 2020

Обычно вам просто нужно добавить файлы в свои angular-cli.json файлы в разделе scripts.

Затем в вашем layoutindicateur.component.ts файле объявите myExtObject под angular импортом

//import ....
declare let myExtObject: any;

Затем используйте его в своем файле компонента

myExtObject.legend.legendFunction()
...