Ivan-P
@Ivan-P

Что не так с http запросом в angular2?

Делал все по инструкциям с angular.io
app.service.ts:

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';

@Injectable()
export class AppService {

	constructor (private http: Http) {}
	private dataUrl = 'http://jsonplaceholder.typicode.com/users';
	private extractData(res: Response) {
		let body = res.json();
		return body || {};
	}

	getData (): Observable<any> {
		return this.http.get(this.dataUrl)
			.map(this.extractData)
	}
}


app.component.ts:

import { Component, OnInit } from '@angular/core';
import { AppService } from './app.service';
import '../../public/css/styles.css';

@Component({
	selector: 'my-app',
	providers: [AppService],
	template: require('./app.component.html'),
	styles: [require('./app.component.css')],
})

export class AppComponent implements OnInit {

	private users:any;
	constructor(private appService: AppService) {}

	ngOnInit() {
		this.appService.getData().subscribe(res => this.users = res);
		console.log(this.users);
	}
}


Получаю в консоле undefined
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
AMar4enko
@AMar4enko
ngOnInit() {
    this.appService.getData().subscribe(res => {
       this.users = res;
       console.log(this.users); 
    });
  }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы