Как вызвать функцию Javascript в Angular 11

#javascript #angular #typescript

Вопрос:

У меня есть угловое приложение и немного кода JS. Я видел, что для предыдущих версий angular мы должны поместить JS в каталог активов, в моем случае называемый Modulo_Tablas.js. Затем отредактируйте angular.json, чтобы добавить это:

  "scripts": [
             "src/assets/Modulo_Tablas.js"
           ]
 

Затем добавьте объявление в файл component.ts, где я хочу вызвать функцию следующим образом:

 declare function say_hi(): any;
 

Итак, тогда я должен быть в состоянии сделать:

  sayhi(): void{
   say_hi();
 }
 

В моем случае я решил создать функцию под названием sayhi, поэтому, когда я нажму кнопку в своем приложении, эта функция будет вызвана. Затем функция say_hi просто сделает это:

 function say_hi(){
  alert("how are you");
}
 

Однако это не работает. Что я упускаю? Теперь все по-другому для углового 11?

Комментарии:

1. Убедитесь, что ваша функция глобально назначена объекту окна. Затем вы можете получить доступ к нему из своего приложения Angular.

2. Я думаю, так и должно быть declare var say_hi:()=>void . ПРИМЕЧАНИЕ: Будьте осторожны, если вы используете angular-cli, после изменения angular.json вам нужно «перезапустить» ng serve