gpt4 book ai didi

javascript - Angularjs 范围之外的服务功能

转载 作者:数据小太阳 更新时间:2023-10-29 04:32:25 25 4
gpt4 key购买 nike

我在 angularJS 中创建了一个服务,它使用 btford.socket-io 模块与服务器交互。由于在服务中我已经实现了一些我目前在 Angular 内部使用的 API,但为了以后扩展应用程序,我还需要在 Angular 范围之外授予对这些 API 的访问权限。这样将来就可以直接调用该函数,而无需创建 Controller 和其他东西。

目前我为 Controller 做了这个

var myController = angular.element($('body')).scope().myController;

通过将整个 Controller 保存在一个范围变量中。我想知道是否有可能对服务做同样的事情。

最佳答案

怎么样:

angular.element(document.body).injector().get('MyService');

通常不是好的做法。但有时它需要。

注意:document.body是你的angular应用挂载到的元素

您可能会考虑的另一件事是通过工厂“关闭”带 Angular 外部 api。

  • 例如。从 Angular 工厂返回全局或命名空间类或 api。

这基本上就是 Angular 为您所做的。但是,您不必先在 Angular 内部创建引用并提取它,而是在外部创建它,然后将其作为工厂或值注册到 DI。

关于javascript - Angularjs 范围之外的服务功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21312948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com