Предоставить общую функцию JavaScript с помощью Angular? - PullRequest
1 голос
/ 16 июня 2020

есть ли способ предоставить глобальную функцию JavaScript в приложении Angular, которое может быть вызвано кодом, отличным от Angular JS?

Фон: наше приложение Angular выполняется внутри веб-просмотра приложения Qt. Теперь мы исследуем возможности предоставления API, чтобы приложение Qt могло вызывать функции приложения Angular.

1 Ответ

0 голосов
/ 16 июня 2020

Любой интерфейсный код javascript (включая Angular) имеет доступ к глобальным объектам window и document. Вы можете добавить любую функцию или свойство в эти 2.

window.myAPI = {
   doIt: function () {...},
   doItBetter: function () {...}
}

Я не знаком с QT WebView, поэтому не могу помочь вам понять, можете ли вы получить доступ к window или document из код QT. Я бы ожидал, что сможете.

В качестве другого решения - https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage. Не знаю, может ли QT-код реагировать на эти сообщения.

...