加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何从控制台测试AngularJS服务?

发布时间:2020-12-17 09:35:16 所属栏目:安全 来源:网络整理
导读:我有一个服务像: angular.module('app').factory('ExampleService',function(){ this.f1 = function(world){ return 'Hello '+world; } return this;}) 我想从JavaScript控制台测试它,并调用服务的函数f1()。 我怎样才能做到这一点? 所以我发现,如果已经
我有一个服务像:
angular.module('app').factory('ExampleService',function(){
  this.f1 = function(world){
    return 'Hello '+world;
  }
  return this;
})

我想从JavaScript控制台测试它,并调用服务的函数f1()。

我怎样才能做到这一点?

所以我发现,如果已经存在一个注入器,你不能简单地调用angular.injector([‘app’])。因为此功能尝试创建新的进样器。

相反,你必须调用injector = angular.element(document.body).injector()

从检索的注射器,你可以得到任何服务,你喜欢与injector.get(‘ServiceName’)

因此在一行中,命令将如下所示:

angular.element(document.body).injector().get('serviceName')

关于这个答案的更多信息:Can’t retrieve the injector from angular
更多在这里:Call Angular JS from legacy code

另一个有用的技巧来获取特定元素的$ scope。使用开发人员工具的DOM检查工具选择元素,然后运行以下行($ 0始终是所选元素):angular.element($ 0).scope()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读