我们的网站上放置了一个脚本,用于生成弹出窗口/模式。
可以通过调用来调用模态框
ModalObject.Triggeronclick(someModalId)
但是,我无法从 Angular Controller 调用此函数(并且我需要访问 Controller 内的数据和逻辑以触发调用)。
我尝试过打电话
window.ModalObject.Triggeronclick(someModalId)
...但我得到:
"TypeError: Cannot read property 'triggerOnclick' of undefined".
如何从我的应用 Controller 调用此函数?
最佳答案
如果您坚持使用 ModalObject
而不是 Angular 特定的模态资源,那么您应该创建一个返回 $window.ModalObject
的工厂/服务 - $window 为 Angular 注入(inject)的窗口对象。然后你可以将该工厂/服务注入(inject)到你的 Controller 中。
app.factory('modalObject', ($window) => {
return $window.ModalObject
})
假设 ModalObject 在窗口对象上可用。
然后将modalObject
注入(inject)到您的 Controller 中。
但是,还有其他特定于 Angular 模态的选项:
关于javascript - 从 Angular Controller 调用外部库中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54442668/