angular - 在 Angular 8 中,如何从浏览器控制台访问注入(inject)的服务?

标签 angular service console google-chrome-devtools

我正在使用 Angular 8。我想从我的浏览器控制台(Chrome 开发工具)访问注入(inject)的服务。我可以像这样从我的浏览器控制台访问注入(inject)器

ng.probe(document.querySelector('app-root')).injector

我想在开发工具控制台中访问注入(inject)的服务,但是当我尝试这个时

ng.probe($0).injector.get("AbcService")

我收到以下错误。我已验证我的服务名称是正确的。我还需要做什么才能从控制台访问我的服务?

core.js:8991 Uncaught Error: StaticInjectorError(AppModule)[ActivationService]: 
  StaticInjectorError(Platform: core)[AbcService]: 
    NullInjectorError: No provider for AbcService!
    at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:8895)
    at resolveToken (core.js:9140)
    at tryResolveToken (core.js:9084)
    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:8981)
    at resolveToken (core.js:9140)
    at tryResolveToken (core.js:9084)
    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:8981)
    at resolveNgModuleDep (core.js:21208)
    at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:21897)
    at Object.resolveDep (core.js:22268)

编辑:我尝试访问的服务像这样导入到我的组件中

import { AbcService } from '@myapp/services';

最佳答案

注入(inject)的服务将作为 componentInstance 的属性提供。如果AbcService注入(inject)到AppComponent

  export class AppComponent {  
    constructor(private abcService: AbcService) {}
  }

然后你可以在控制台中获取它:

ng.probe(document.querySelector('app-root')).componentInstance.abcService

关于angular - 在 Angular 8 中,如何从浏览器控制台访问注入(inject)的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57898015/

相关文章:

Angular 2仅选择最后一个选项作为预选的FormGroup

android - 如何将消息从服​​务发送到 Activity

coldfusion - ColdFusion 中的 SOA 风格架构?

Java 基本控制台编程 - 可以使用 hasNextLine 从控制台读取输入吗?

python - 在 IPython 控制台的同一位置打印

java - 在控制台输出调试信息

javascript - 减少javascript代码

html - 如何使用 Angular 6 中的类名更改背景颜色?

node.js - Npm 错误!代码 EPERM

android - 如何从服务获取位置