javascript - Angular 6:带有providedIn的服务:'root'在组件中返回空对象
问题描述
我的服务位于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
在控制台中看到。
推荐阅读
- ansible - 在剧本中对 localhost 使用 ping
- excel - 与不同工作表中的其他两列相比,Excel 需要在两列中找到完全匹配
- google-apps-script - Google Apps SOAP 请求似乎发送 GET 请求而不是 POST
- c - Pop 在特定功能中只工作一次
- python-3.x - 从 csv 文件下载多个 Dropbox zip 文件
- python - 来自 JSON 的字符串之间的分隔符
- python-3.x - 如何使用 ObjectId _id 更新 MongoDB 集合?
- python-3.x - Python Selenium send_keys() 更改文本格式(缩进)
- python - 如何填充支持字典键多行值的python字典对象
- javascript - fix 可以是尾递归的,因此可以表示为一个简单的循环?