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

时间:2017-04-20 15:19:51

标签: javascript angularjs angular-components

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

2 个答案:

答案 0 :(得分:0)

如果您想测试快速和脏的东西,可以从开发者控制台访问该功能:

scope = angular.element($0).isolateScope();
scope.$ctrl.myFunction();

通过使用$0选择组件或单击开发者控制台元素窗口中的元素来设置right click -> Inspect

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

答案 1 :(得分:-1)

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

在您的组件内:

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

其他地方:

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

编辑: 我没有测试过这个解决方案,而且我没有深入到角度,但它应该可以工作