我从在组件Angular 8中调用服务时未定义

问题描述 投票:0回答:1

我创建了一个接口和一个服务,其中该服务负责从API中获取一些数据,但是当我尝试从组件中调用该数据时,它会返回undefined给我。这些是我的服务和我的组成部分(我也注意到服务中的函数返回void,并且已在app.module中提供了它们))>

@Injectable()
export class TasksService {
compeletedTasks: Task[]
constructor(public http: Http) { }
getCompeletedTasks(){
this.http.get("http://localhost:4000/api/compeleted").subscribe(response =>{
this.compeletedTasks = response.json()
return response.json()})}
}

这是我的组件:

import { TasksService } from '../../services/tasks.service';
export class DoneTaskItemsComponent implements OnInit {
constructor(private tasksService:TasksService){}

ngOnInit() {
    console.log(this.tasksService.getCompeletedTasks())}
}

我刚刚删除了@component之类的内容以及其他易于阅读的代码

那么有什么解决办法吗?我需要在模板上使用compeletedTasks,但是现在,当我在控制台上登录它们时,我得到的是不确定的

我创建了一个接口和一个服务,其中该服务负责从API中获取一些数据,但是当我尝试从组件中调用该数据时,它会返回undefined给我。这些是我的...

angular typescript service dependency-injection
1个回答
1
投票

正如@Challappan所说,您需要使用httpClient而不是http来发出api请求。

© www.soinside.com 2019 - 2024. All rights reserved.