Вызов функции во внешней библиотеке из контроллера Angular - PullRequest
0 голосов
/ 30 января 2019

На нашем сайте размещен скрипт, который используется для создания всплывающих окон / модалов.

Модальный режим можно вызвать, вызвав

ModalObject.Triggeronclick(someModalId)

Однако я не могу вызвать этофункция от контроллера Angular (и мне нужен доступ к данным и логике внутри контроллера, чтобы инициировать вызов).

Я попытался позвонить

window.ModalObject.Triggeronclick(someModalId) 

... но я получаю:

"TypeError: Cannot read property 'triggerOnclick' of undefined".

Как я могу вызвать эту функцию из моего контроллера приложения?

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вы можете попытаться добавить ресурс в index.html и получить доступ к глобальным переменным с помощью

(<any>window).document

, где вы обычно просто вызываете

document
0 голосов
/ 30 января 2019

Если вы настаиваете на использовании вашего ModalObject вместо специфического углового модального ресурса, тогда вы должны создать фабрику / службу, которая возвращает $window.ModalObject - $ window, являющееся объектом углового ввода.Затем вы можете внедрить эту фабрику / сервис в ваш контроллер.

    app.factory('modalObject', ($window) => {
        return $window.ModalObject
    })

Предполагая, что ModalObject доступен для объекта окна.

Затем введите modalObject в ваш контроллер.

Однако, есть и другие опции, которые являются угловыми модалами:

...