从简单的外部 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
我需要调用在我的 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