javascript - 从 Angular Controller 调用外部库中的函数

标签 javascript angularjs angularjs-scope

我们的网站上放置了一个脚本,用于生成弹出窗口/模式。

可以通过调用来调用模态框

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/

相关文章:

javascript - 使用输入文本字段通过 Javascript 动态更改函数中的值

javascript - WebKitFormBoundary 是什么意思?

javascript - Angularjs 显示一天前的内容。

javascript - AngularJS + Bootstrap - 将 $compiled HTML 注入(inject) popover

javascript - TypeError : (intermediate value)(intermediate value). 成功不是一个函数(angular)

javascript - 如何在Wordpress中使用RecordJs

javascript - 如何同时执行两个或多个 JavaScript 函数?

javascript - jquery - 如何转义 html 以防止 XSS?

angularjs - ng-if 在嵌入作用域中破坏作用域继承

javascript - 你如何使用 Angular javascript获取表单的值(value)?