- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的服务位于src/core/services/api.service.ts
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class ApiService {
constructor() { }
test() {
console.log('hello from services');
}
}
我正在尝试从另一个模块中的组件调用此服务。
home.component.ts
import { Component, OnInit } from '@angular/core';
import {ApiService} from './core/services/api.service';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
constructor(private api: ApiService) { }
ngOnInit() {
console.log(this.api);
}
}
但我得到一个像这样的空对象 ApiService {}
最佳答案
因此它返回一个对象,这意味着服务已正确初始化,而不是console.log(this.api)
;尝试 console.log(this.api.test())
,您应该会在控制台中看到 hello from services
。
关于javascript - Angular 6 :services with providedIn: 'root' returns empty object in component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53296914/
我正在尝试借助 Angular 的教程创建服务 https://angular.io/guide/http 我正在使用 Angular 7.0.7。 该服务将从一些 url 获取 json 数据: i
我已经彻底阅读了文档,虽然我找不到它的确切引用位置,但我的印象是在急切加载的模块的 providers 数组中声明服务将使单例可用到应用范围。如果这是真的, Is using @Injectable
我正在尝试将我的应用程序从 Angular v5 迁移到 v6,但在尝试在我的提供程序中指定 providedIn 时遇到以下 typescript 错误 Argument type {provide
在 Angular 9 中,可注入(inject)装饰器选项 providedIn有一个名为 any 的新值. root 和有什么区别和 any ? 在我使用 any 的情况下,服务是否被视为单例?
只是想确保我理解 @Injectable(providedIn: 'root') 的语义。 在 Angular 6 之前,如果我们从 NPM 导入一个包含服务的模块,我们将在我们的应用程序模块中声明该
我尝试在 Angular 中使用“providedin”功能,但收到错误“StaticInjectorError(AppModule)[DashboardComponent -> DashboardS
在 Angular 5 中,如果我有扩展抽象的 AbstractClassService 和 ExtendedClassService,我可以在我的 NgModule 的提供者数组中这样做: @NgM
对于 Angular 6,以下是创建单例服务的首选方式: import { Injectable } from '@angular/core'; @Injectable({ providedIn:
当我使用 @Injectable({ providedIn: 'root' }) 消息 Expects 0 arguments but got 1. Any idea on what to d
我正在尝试通过新的 providedIn 属性提供解析服务。 这是我在 protected 模块中使用的翻译解析器: import { Injectable } from '@angular/core
当在 Angular CLI 中生成服务时,它会添加带有“provided in”属性的额外元数据,Injectable 装饰器的默认值为“root”。 @Injectable({ provide
我的服务位于src/core/services/api.service.ts import { Injectable } from '@angular/core'; @Injectable({ p
我是一名优秀的程序员,十分优秀!