从简单的外部 javascript 代码访问 AngularJS 1.6 组件功能

Access to AngularJS 1.6 component function from simple outside javascript code

我需要调用在我的 AngularJS 1.6 应用程序的一个组件中定义的函数,但我需要在 angular 应用程序之外的简单 javascript 代码中执行此操作。我该怎么做?

使用标准的事件广播会对您有所帮助。

在你的组件中:

document.addEventListener('trigger-my-method', () => myMethod());

其他地方:

let myEvt = new Event('trigger-my-method'); document.dispatchEvent(myEvt)

编辑: 我没有测试过这个解决方案,我也没有深入研究 angular,但它应该可以工作

如果您想快速而复杂地测试一些东西,可以从开发者控制台访问该功能:

scope = angular.element([=10=]).isolateScope();
scope.$ctrl.myFunction();

其中 [=11=] 是通过使用 right click -> Inspect 选择组件或单击 Developer Console window 元素中的元素来设置的。

有关详细信息,请参阅 AngularJS angular.element API Reference - jQuery/jqLite Extras