当前位置: 首页 > 知识库问答 >
问题:

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

许子平
2023-03-14

我有一项服务,比如:

angular.module('app').factory('ExampleService', function(){
  this.f1 = function(world){
    return 'Hello '+world;
  }
  return this;
})

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

我怎么能那么做?

共有1个答案

丌官翰采
2023-03-14
angular.element(document.body).injector().get('serviceName')

AngularJS使用依赖项注入(DI)将服务/工厂注入到组件、指令和其他服务中。因此,要获得服务,首先需要获得AngularJS的注入器(注入器负责连接所有依赖项并将它们提供给组件)。

要获得应用程序的注入器,您需要从angular正在处理的元素中获取它。例如,如果应用程序注册在body元素上,则调用injector=angular.element(document.body).injector()

从检索的injector中,您可以通过injector.get('serviceName')获得您喜欢的任何服务

 类似资料:
  • 问题内容: 我有类似的服务: 我想 从JavaScript控制台 进行 测试, 然后调用该服务的功能。 我怎样才能做到这一点? 问题答案: 深潜 AngularJS使用 依赖注入(DI) 将服务/工厂注入到您的组件,指令和其他服务中。所以,你需要做的就是一个服务是什么,以获得 注入第一AngularJS的(喷油器是负责接线了所有的依赖关系和它们提供给组件)。 要获取应用程序的 注入器 ,您需要从a

  • 我可以根据这里接受的答案访问变量。但是,我不能从控制台编辑它,即改变属性,调用函数等,这甚至可能吗? 如何从控制台更改值和属性,以便视图和所有依赖项也得到更新?

  • 本文向大家介绍AngularJS 如何在控制台进行错误调试,包括了AngularJS 如何在控制台进行错误调试的使用技巧和注意事项,需要的朋友参考一下 当我们在编写 AngularJS 的应用时,通过 Chrome, Firefox, 和 IE 的 JavaScript 控制台来获取隐藏在应用之中的数据(Data)和服务(Service) 是一件非常具有挑战性的工作。下面列出了一些简单的小窍门,可

  • 问题内容: 我正在尝试创建一个简单的单元测试来测试我的表演功能。 我收到以下错误: 看来这不是控制器的范围吗? 这是我的控制器: 这是我的控制器单元测试: 问题答案: 为什么不简单地使用spyOn函数? 希望这可以帮助!

  • 本文向大家介绍AngularJS 单元测试控制器,包括了AngularJS 单元测试控制器的使用技巧和注意事项,需要的朋友参考一下 示例 控制器代码: 考试: 跑!

  • 所以我有一个Laravel控制器: 目前,我正在使用artisan(在引擎盖下运行PHP的内置开发Web服务器)运行应用程序: 我想将控制台消息记录到artisan进程的管道中。