我有类似的服务:
angular.module('app').factory('ExampleService', function(){ this.f1 = function(world){ return 'Hello '+world; } return this; })
我想 从JavaScript控制台 进行 测试, 然后调用f1()该服务的功能。
f1()
我怎样才能做到这一点?
angular.element(document.body).injector().get('serviceName')
AngularJS使用 依赖注入(DI) 将服务/工厂注入到您的组件,指令和其他服务中。所以,你需要做的就是一个服务是什么,以获得 注入第一AngularJS的(喷油器是负责接线了所有的依赖关系和它们提供给组件)。
要获取应用程序的 注入器 ,您需要从angular正在处理的元素中获取它。例如,如果您的应用已在body元素上注册,则调用injector =angular.element(document.body).injector()
injector =angular.element(document.body).injector()
从检索到的内容中,injector您可以享受所需的任何服务injector.get('ServiceName')
injector
injector.get('ServiceName')
获取$scope特定元素的另一个有用技巧。使用开发人员工具的 DOM检查工具选择元素,然后运行以下行($0始终为选定元素): angular.element($0).scope()
$scope
$0
angular.element($0).scope()