角度:HTTP get请求未定义

时间:2019-08-14 12:41:51

标签: angular

我正在尝试获取请求,以接收可以显示在主要组件上的数据。

main.component.ts

export class MainComponent implements OnInit {

  testdata: TestData[];

  constructor(private dataService: TestdataService) { }
  ngOnInit() {
    this.dataService.getData().subscribe(data => {this.testdata = data})
    console.log((this.testdata)); <--- undefined
  }

testdata.service.ts

export class TestdataService {
  url = 'http://localhost:8080/test'

  constructor(private http: HttpClient) { }

  getData(): Observable<TestData[]>{
    return this.http.get<TestData[]>(this.url);
  }
}

TestData.ts

export class TestData{
  id: number;
  teststring: string;
  testint: number;
}

除了testdata变量(似乎未定义)之外,一切似乎都可以正常工作。

1 个答案:

答案 0 :(得分:2)

您需要将console.log放在订阅中,

this.dataService.getData().subscribe(data => {
  this.testdata = data;
  console.log(this.testdata);
})